.NET 剪切指定部分图片(高分求实例代码)

风2013 2012-03-29 12:12:06
如题 最好有个例子
要求:传入一个原图片路径,剪切原图指定部分路径
保存指定文件夹之后 返回剪切图片路径就行了

网上代码虽多,但是找了一个又一个,总是弄不好,特来此求助
...全文
415 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
w379631014 2013-01-23
  • 打赏
  • 举报
回复
这是直接指定,int x = 0, y = 10, width = 200, height = 200;截图的,,,有没有是从预览图片用框框截的?(类似QQ截图),,求源码。。。
KBY_1987 2012-06-29
  • 打赏
  • 举报
回复
正好要做这个,学习一下!
YH我就是我 2012-06-15
  • 打赏
  • 举报
回复
弄出来了不过我上传图片的时候把图片按照比例缩放了,定义截取部分的宽高有时候会超出缩略图片的宽高,我的缩放比例是按宽》高来定义的
YH我就是我 2012-06-03
  • 打赏
  • 举报
回复
我也要做这个网上找的老是爆应用的命名空间错误
tiangong789 2012-04-01
  • 打赏
  • 举报
回复
孟爷时刻准备着为各种档次的程序员们解决问题。。
孟子E章 2012-03-29
  • 打赏
  • 举报
回复
//图片路径
String oldPath = Server.MapPath("~/62223231.jpg");

//新图片路径
String newPath = System.IO.Path.GetExtension(oldPath);

//设置截取的坐标和大小
int x = 0, y = 20, width = 200, height = 2400;

//计算新的文件名,在旧文件名后加_new
newPath = oldPath.Substring(0, oldPath.Length - newPath.Length) + "_new" + newPath;
Response.Write(oldPath);
Response.Write("<br>");
Response.Write(newPath);
//定义截取矩形
System.Drawing.Rectangle cropArea = new System.Drawing.Rectangle(x, y, width, height); //要截取的区域大小

//加载图片
System.Drawing.Image img = System.Drawing.Image.FromStream(new System.IO.MemoryStream(System.IO.File.ReadAllBytes(oldPath)));

//判断超出的位置否
if ((img.Width < x + width) || img.Height < y + height)
{
Response.Write("截取的区域超过了图片本身的高度、宽度.");
img.Dispose();
return;
}
//定义Bitmap对象
System.Drawing.Bitmap bmpImage = new System.Drawing.Bitmap(img);

//进行裁剪
System.Drawing.Bitmap bmpCrop = bmpImage.Clone(cropArea, bmpImage.PixelFormat);

//保存成新文件
bmpCrop.Save(newPath);

//释放对象
img.Dispose();
bmpCrop.Dispose();
风2013 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用楼主 的回复:
如题 最好有个例子
要求:传入一个原图片路径,剪切原图指定部分路径
保存指定文件夹之后 返回剪切图片路径就行了

网上代码虽多,但是找了一个又一个,总是弄不好,特来此求助

请问你是截取路径的一部分还是剪切图片啊?怎么标题和内容不一致
[/Quote]

截取图片
风2013 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你是剪切没弄出来还是路径不会啊?
[/Quote]

截取没弄出来
EnForGrass 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
如题 最好有个例子
要求:传入一个原图片路径,剪切原图指定部分路径
保存指定文件夹之后 返回剪切图片路径就行了

网上代码虽多,但是找了一个又一个,总是弄不好,特来此求助
[/Quote]
请问你是截取路径的一部分还是剪切图片啊?怎么标题和内容不一致
孟子E章 2012-03-29
  • 打赏
  • 举报
回复
你是剪切没弄出来还是路径不会啊?
Lugyedo 2012-03-29
  • 打赏
  • 举报
回复
路径不就是一个字符串吗,用string的substring方法就可以截取子串
EnForGrass 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

10年了,孟子E章还战斗在第一线哪。。
[/Quote]
孟前辈本着帮大家解决问题,让我们学习到了很多东西
风2013 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
你使用这个图片
http://i0.sinaimg.cn/dy/FocusPic/124/2008-03-24/U1565P1T124D2F2633DT20120329083504.jpg

//设置截取的坐标和大小
int x = 0, y = 10, width = 200, height = 200;
测试,出来的图片不对?
[/Quote]
已经可以了 是我把原图片等比例缩小了,坐标也等比例缩小了 所以截取就不对了
贝贝壳壳 2012-03-29
  • 打赏
  • 举报
回复
10年了,孟子E章还战斗在第一线哪。。
孟子E章 2012-03-29
  • 打赏
  • 举报
回复
你使用这个图片
http://i0.sinaimg.cn/dy/FocusPic/124/2008-03-24/U1565P1T124D2F2633DT20120329083504.jpg

//设置截取的坐标和大小
int x = 0, y = 10, width = 200, height = 200;
测试,出来的图片不对?

风2013 2012-03-29
  • 打赏
  • 举报
回复
九楼 如果你也需要 找孟老师去帮你吧
风2013 2012-03-29
  • 打赏
  • 举报
回复
找到原因了 ,孟老师的那个代码可以可以截取,是我的原图等比例缩小了,所以获取的坐标也是等比例缩小了,就出现了刚刚遇到的那个问题。应该可以搞定了, 感谢孟老师!!
孟子E章 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 feng1366259807 的回复:]

孟老师 这个方法剪切出来的图片内容什么都没有 图片是有一张,但是图片就一个蓝色的背景,里面什么都没有
[/Quote]

你用什么图片测试的?
你保证去截取的区域不是蓝色的背景吗???
hanguoji84 2012-03-29
  • 打赏
  • 举报
回复
支持楼主!等待完整示例,有的话谢谢,请也共享给我一份,十分感谢了。hanguoji@vip.qq.com
风2013 2012-03-29
  • 打赏
  • 举报
回复
孟老师 这个方法剪切出来的图片内容什么都没有 图片是有一张,但是图片就一个蓝色的背景,里面什么都没有
加载更多回复(1)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧