C# 如何从tiff中剪裁矩形?

C# 如何从tiff中剪裁矩形?,c#,winforms,bitmap,C#,Winforms,Bitmap,我有一个C语言的Winforms Gui,它允许用户在tiff的显示器上绘制一个矩形,并保存位置、高度、宽度等。 基本上,我想做的是采取保存的位置,高度和宽度的矩形和剪辑该地区成为一个九月。位图,然后可以传递给九月。方法,将只是OCR的新剪辑的位图。 执行此操作的最佳方法是什么?使用Graphics.DrawImage()复制源图像的选择部分。您将需要一个源矩形和一个目标矩形。在与矩形大小相同的新位图上,从Graphics.FromImage()创建图形实例 public static

我有一个C语言的Winforms Gui,它允许用户在tiff的显示器上绘制一个矩形,并保存位置、高度、宽度等。 基本上,我想做的是采取保存的位置,高度和宽度的矩形和剪辑该地区成为一个九月。位图,然后可以传递给九月。方法,将只是OCR的新剪辑的位图。 执行此操作的最佳方法是什么?

使用Graphics.DrawImage()复制源图像的选择部分。您将需要一个源矩形和一个目标矩形。在与矩形大小相同的新位图上,从Graphics.FromImage()创建图形实例

    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;
    }
用于创建裁剪区域的副本

public Bitmap ClipBitmap(Bitmap src, Rectangle crop)
{
  return src.Clone(crop, src.PixelFormat);
}

另外,在缩放原始图像的显示时,还要确保以相对百分比和绝对百分比管理裁剪矩形。