实现效果:

知识运用:
Bitmap类的Clone方法 //创建Bitmap对象的 某个部分 的副本
public Bitmap Clone (Rectangle rect, PixelFormat format) //由Rectangle结构和指定的PixelFormat枚举定义
Graphics类的FillRectangle方法 //填充Rectangle结构指定的矩形的内部
public void FillRectangle (Brush brush, Rectangle rect)
实现代码:
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
startPt = new Point(e.X, e.Y);
}
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
ig = pictureBox1.CreateGraphics();
rectangle = new Rectangle(startPt.X, startPt.Y, e.X-startPt.X, e.Y-startPt.Y);
ig.DrawRectangle(new Pen(Color.Black, 1), rectangle);
}
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
try
{
Graphics g = this.CreateGraphics();
Bitmap bmp = new Bitmap(pictureBox1.Image);
Bitmap cutBmp = bmp.Clone(rectangle,System.Drawing.Imaging.PixelFormat.DontCare);
g.DrawImage(cutBmp,e.X,e.Y);
SolidBrush myBrush = new SolidBrush(Color.Wheat);
ig.FillRectangle(myBrush,rectangle);
}
catch{}
}
浙公网安备 33010602011771号