我怎样才能清除drawimage?

时间:2016-03-09 00:15:49

标签: vb.net drawing

为了使我的图像透明,我使用了:

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) 或者用另一张图片替换它?

1 个答案:

答案 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

每次单击该按钮时,都需要创建图像并将其清除。至于替换该图像,您不会显示如何填充它们。但代码是一样的;清除对象并重置它,然后将新副本保存到变量...