我正在我的网页上显示图片。由于图像尺寸各异,我想裁剪它们(可能来自中心)。我想在运行时裁剪它们。
我正在使用datalist和img标签来显示某些文件夹中的图像。有没有办法做到这一点?
编辑:
如果这是原始图像
我想裁剪一定数量的像素,就像在这种情况下:220x160
答案 0 :(得分:1)
public Bitmap CropCenter(Bitmap src, int targetWidth, int targetHeight)
{
int x = src.Width / 2 - targetWidth / 2;
int y = src.Height / 2 - targetHeight / 2;
Rectangle area = new Rectangle(x, y, targetWidth, targetHeight);
return src.Clone(area, src.PixelFormat);
}
传递源位图并输入所需的宽度,高度以从img的中心裁剪出来也会对targetWidth进行一些检查,targetHeight应该确保它们小于img本身。
编辑: 正如SynerCoder所提到的,您还需要将参考System.Windows.Drawing添加到您的项目中。
答案 1 :(得分:0)
使用ImageResizer,这似乎是一种比(重新)自己编写代码更好的方法。
Nuget包:http://www.nuget.org/packages/ImageResizer/
裁剪等简单功能是免费的(但其他一些功能并非免费)。