欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现在服务器端裁剪图片的方法

程序员文章站 2022-05-15 14:23:35
本文实例讲述了c#实现在服务器端裁剪图片的方法。分享给大家供大家参考。具体实现方法如下: //图片路径 string oldpath = server.mapp...

本文实例讲述了c#实现在服务器端裁剪图片的方法。分享给大家供大家参考。具体实现方法如下:

//图片路径
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();

希望本文所述对大家的c#程序设计有所帮助。