日期:2014-05-18  浏览次数:20757 次

菜鸟求助,关于图像清除的问题
先贴个简单的代码
private void button1_Click(object sender, EventArgs e)
  {  
  Bitmap bmp = new Bitmap(pictureBox1.Image);
  Graphics g = Graphics.FromImage(bmp);
  g.DrawLine(new Pen (Color .Red ,5) , 10, 10, 30, 30);
  g.Dispose();
  this.pictureBox1.Image = bmp;
  }
就是说在picturebox里画了个线
然后。。。我想知道怎么点击另一个按钮的时候清除它
那个。。不要告诉我再用背景色画一次,那个方法太脑残了
谢谢了


------解决方案--------------------
直接定义2个BMP就OK了啊,点按钮就把另一个BMP赋给PICTUREBOX。。。

Bitmap bmp = new Bitmap(pictureBox1.Image);
Bitmap bmp2 = new Bitmap(pictureBox1.Image);
private void button1_Click(object sender, EventArgs e)
{
Graphics g = Graphics.FromImage(bmp);
g.DrawLine(new Pen (Color .Red ,5) , 10, 10, 30, 30);
g.Dispose();
this.pictureBox1.Image = bmp;
}
private void button2_Click(object sender, EventArgs e)
{
this.pictureBox1.Image = bmp2;
}
------解决方案--------------------
用底色重绘,如果底色是错综复杂的,那就可以去底图的一个区域,覆盖住这条线
或许还有其他更好的方法,google吧