我在C#中有一个Winforms Gui,它允许用户在tiff的显示上绘制一个矩形并保存位置,高度,宽度等。 基本上,我想要做的是获取矩形的保存位置,高度和宽度,并将该区域剪切成一个sep。然后可以将位图传递给sep。只会OCR位图的新剪辑的方法。 这样做的最佳方式是什么?
答案 0 :(得分:2)
使用Graphics.DrawImage()复制源图像的选择部分。您需要the overload来获取源和目标矩形。在Graphics.FromImage()上创建一个与矩形大小相同的新位图的Graphics实例。
public static Bitmap CropImage(Image source, Rectangle crop) {
var bmp = new Bitmap(crop.Width, crop.Height);
using (var gr = Graphics.FromImage(bmp)) {
gr.DrawImage(source, new Rectangle(0, 0, bmp.Width, bmp.Height), crop, GraphicsUnit.Pixel);
}
return bmp;
}
答案 1 :(得分:0)
使用Bitmap.Clone()创建裁剪区域的副本。
public Bitmap ClipBitmap(Bitmap src, Rectangle crop)
{
return src.Clone(crop, src.PixelFormat);
}