在C#winforms中手动裁剪并保存Picturebox中的图像

时间:2013-11-04 09:46:12

标签: c# winforms paint picturebox

我正在使用C#在winform中拥有1个图片框,我想裁剪图像的某些部分并将所选部分保存到图像中。   以下是我的裁剪源图像的代码

enter image description here

private void picFace_mousedown(object sender, MouseEventArgs e)
    {
        rect = new System.Drawing.Rectangle(e.X, e.Y, 0, 0);
        this.picFace.Invalidate();
    }

private void picFace_mousemove(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {

            rect = new System.Drawing.Rectangle(rect.Left, rect.Top, e.X - rect.Left, e.Y - rect.Top);
        }
        this.picFace.Invalidate();
    }

private void picFace_paint(object sender, PaintEventArgs e)
    {

        using (System.Drawing.Pen pen = new System.Drawing.Pen(System.Drawing.Color.Red, 2))
        {
            e.Graphics.DrawRectangle(pen, rect);
        }

    }

1 个答案:

答案 0 :(得分:1)

简单,Bitmap有一个克隆方法,它采用你定义的矩形。

http://msdn.microsoft.com/en-us/library/ms141944.aspx

然后当你有了新的位图时,它会附带一个保存方法

http://msdn.microsoft.com/en-us/library/ktx83wah.aspx