【发布时间】:2014-09-15 10:19:39
【问题描述】:
我在图片框中绘制了 12 个带有一些坐标的矩形,现在我想在将下一张图片加载到同一个图片框中之前清除图片框中绘制的矩形。 对于绘制矩形,我使用了以下代码,
> g.DrawRectangle(pen1, rect);
其中 g 是图形,pen1= new System.Drawing.Pen(Color.Red, 2F); rect 是具有 x、y、宽度和高度坐标的矩形。
我还希望我绘制的图形可以调整大小,因为我使用了带有图片框 Mousedown、mousemove 和 Mouseleave 事件的 PosSizableRect Enum,并且我的矩形光标已更改,以便用户可以调整绘制的矩形坐标的大小。
如何在同一个 PictureBox 中加载下一个图像之前清除 PictureBox 中绘制的矩形? 我尝试了以下解决方案,但对我没有任何作用。 g.清除(颜色。红色); , this.Invalidate(); , 图片框1.Refresh();图片框1.图像=空;和 img.Dispose();
请指导我!!!我该如何继续?
【问题讨论】:
-
这取决于你如何绘制矩形。如果您使用 g = pictureBox1.CreateGraphics(); 那么简单的 this.Invalidate(); 就可以了。如果您的图片框1 有图像,例如 pictureBox1.Image = img 并且您在 img 上绘图,那么您必须清除您的 img 并使之无效。显示一些代码