为了使我的图像透明,我使用了:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myGraphics As Graphics = Me.CreateGraphics
myGraphics.DrawImage(Img1, 500, 190)
End Sub
我现在的问题是如何删除myGraphics.DrawImage(Img1, 500, 190)
或者用另一张图片替换它?
答案 0 :(得分:0)
如何删除
myGraphics.DrawImage(Img1, 500, 190)
或将其替换为其他图片?
一些小信息( 无聊的东西 ),可帮助您了解Graphics.DrawImage
的工作原理以及您可以采取的措施来清除/删除/删除以上所有内容
当您使用Graphics.DrawImage
时,它是 永久 ,因为它正在使用其使用GDI绘制图像的Graphics
类。一旦发生这种情况,您将无法再访问该绘制的对象 ,除非 ...您保留了该副本的副本。同样重要的是你应该在Paint Events
而不是后者进行绘图。这样可以不断缩减资源,也可以让您访问Graphics
对象,而不是自己创建一个。
以下是解决方案......
'Used to keep current graphics object so you can use it later...
Private gObject As System.Drawing.Graphics = Nothing
'Create the image...
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim myGraphics As System.Drawing.Graphics = Me.CreateGraphics
myGraphics.DrawImage(Img1, 500, 50)
'Clear this out if we can and should...
If Me.gObject IsNot Nothing Then Me.gObject.Clear(Me.BackColor)
'Save the Graphics object...
Me.gObject = myGraphics
End Sub
每次单击该按钮时,都需要创建图像并将其清除。至于替换该图像,您不会显示如何填充它们。但代码是一样的;清除对象并重置它,然后将新副本保存到变量...