绘图事件绘制两个对象
Drawing event draws two object
程序只有这个代码。
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.So 当我绘制它们时它们都是 painted.I 想要设置 picbox2 白色图像和 picbox1 白色图像 ellipse.Any 解决方案 ?
您必须制作图像的副本,因此您将使用相同的数据,但不是相同的对象,因此不会对原始对象进行更改。
我不是 vb.net 专家,但你可以试试这个:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
PictureBox1.Image = New Bitmap(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
程序只有这个代码。
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.So 当我绘制它们时它们都是 painted.I 想要设置 picbox2 白色图像和 picbox1 白色图像 ellipse.Any 解决方案 ?
您必须制作图像的副本,因此您将使用相同的数据,但不是相同的对象,因此不会对原始对象进行更改。
我不是 vb.net 专家,但你可以试试这个:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
PictureBox1.Image = New Bitmap(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