如何从tiff剪辑矩形?

时间:2010-03-08 22:24:29

标签: c# winforms bitmap

我在C#中有一个Winforms Gui,它允许用户在tiff的显示上绘制一个矩形并保存位置,高度,宽度等。 基本上,我想要做的是获取矩形的保存位置,高度和宽度,并将该区域剪切成一个sep。然后可以将位图传递给sep。只会OCR位图的新剪辑的方法。 这样做的最佳方式是什么?

2 个答案:

答案 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);
}