C#从PictureBox中删除绘图

时间:2012-10-01 03:01:17

标签: c# winforms image picturebox

我有PictureBox张照片和Image img,pic.Image = img
然后我使用

在图像上绘制一些矩形
Graphics g = Grpahics.FromImage(pic.Image);
g.DrawRectangle(...);

但有一次,我想从图像中删除矩形,我试过

pic.Image = getOriginalImage();
pic.Refresh();

但图像保持不变(矩形仍在图像的顶部) 我知道有一种方法graphics.Clear(Color),但它用纯色替换整个图像 如何仅从PictureBox删除图纸?
感谢

编辑: 我已经保存了原件,当我擦除时,我使用了原始图像

2 个答案:

答案 0 :(得分:3)

您正在覆盖原始图像。在本地保存图像并将其克隆到PictureBox.Image属性中。当你想要删除时再次克隆

答案 1 :(得分:1)

使用Graphics.DrawImage()再次绘制背景图像,或者再次将图像指定给Image属性。以这种方式使用Graphics对象是直接写入PictureBox中显示的图像,并且它不会保留使用Graphics对象和背景图像写入的内容的单独副本。