我尝试删除最新的画线。
声明
Bitmap DrawArea ; // global variable
Bitmap Previuos_DrawArea; // global variable
当我单击按钮绘制线条时
private void button2_Click_1(object sender, EventArgs e)
{
Graphics g = Graphics.FromImage(DrawArea);
Previuos_DrawArea_img = DrawArea;
g.(new Pen(Brushes.BlueViolet, 1.0F),0,10,10,20);
pictureBox1.Image = DrawArea;
}
当我单击按钮以删除行时
private void button3_Click_1(object sender, EventArgs e)
{
pictureBox1.Image = Previuos_DrawArea_img;
}
概念:
第一步-声明变量。
第二步-备份当前图片。
第三步-绘制新图片。
第四步-如果撤消,只需绘制备用图片即可。
答案 0 :(得分:1)
您不是在创建位图的副本,而只是将其存储在两个变量中。它们指向同一位图,因此编辑一个会影响另一个位图。您需要创建一个副本:
Previuos_DrawArea_img = new Bitmap(DrawArea);
现在它是一幅单独的图像,您对其中一个进行的处理不会影响另一个。