C#_画像の矩形切り取り

Bitmap.Clone 関数を使う。

img.Clone ( Rectangle rect, PixelFormat format );
img   :切り取る ( 正しくはコピー ) 元の画像。
rect   :コピーしたい範囲。
format:新しく描く画像の形式を指定。( 32 ビット / ピクセル など。ex では元絵と同じ )

 

ex)
クリックした点を中心に矩形切り取り。

    private void pictureBox_MouseDown(object sender, MouseEventArgs e)
    {
        Bitmap canvas = pictureBox.Image as Bitmap;
        Point xy = e.Location;

        Rectangle rect = new Rectangle(xy.X - 50, xy.Y - 50, 100, 100);
        Bitmap dest = canvas.Clone(rect, canvas.PixelFormat);

        pictureBox.Image = dest;
    }

 

Graphics オブジェクトを使って描く方法もある。
Clone より速い。

 

こちらから。
[C#] 画像を矩形で切り取る (Bitmap.Clone) – 端くれプログラマの備忘録
https://dobon.net/vb/dotnet/graphics/triming.html
https://msdn.microsoft.com/ja-jp/library/system.drawing.imaging.pixelformat(v=vs.110).aspx

 

以上。