【发布时间】:2016-01-04 12:47:01
【问题描述】:
程序只有这个代码。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
PictureBox1.Image = PictureBox2.Image
Dim g As Graphics = Graphics.FromImage(PictureBox1.Image)
g.DrawEllipse(New Pen(Color.MediumOrchid, 5), 30, 30, 30, 30)
g.Dispose()
PictureBox1.Refresh()
PictureBox2.Refresh()
End Sub
点击之前PictureBox1是空的,PictureBox2有一个白色的图像。
点击后PictureBox1和PictureBox2都有椭圆。
我认为程序为两个pictureBox'es 使用一个图像。所以当我画它们时,它们都被画了。我想用椭圆设置 picbox2 白色图像和 picbox1 白色图像。任何解决方案?
【问题讨论】:
-
您使用
PictureBox1.Image = PictureBox2.Image强制执行该行为。 -
我知道。我想编辑 pic2 并将其保存到 pic1。但 pic2 不能更改。
-
然后你必须创建一个图像的副本。
-
@UweAllner 然后写一个答案。
-
图片框2和图片框1是同一个对象。想象一下,您已经创建了一个气球。然后你做一个指向它的标志,叫做 Balloon1。然后你做另一个指向它的标志,叫做 Balloonl2 然后你告诉某人爆掉 Balloon1。然后你打电话给那个人看 Balloon2,他们回来说它已经爆炸了。这就是你所拥有的。对同一对象的两次引用。使用第一个引用对对象做一些事情,它将在第二个引用中可见。
标签: vb.net user-interface graphics drawing ram