vb.net图片框与.png透明背景加载在它



我得到了一个名为donkey1.png的。png文件-它有一个透明的背景,我已经将它加载到一个名为pcbDonkey1的图片框中-我已经改变了图片框的属性,使其背景颜色透明-这不起作用,因为它仍然穿过另一个图像,并有一个白色的背景。

我听说使用GDI来绘制这个图像,这样它就会有一个透明的图像,并且可以在没有白色背景的情况下越过图像。

你会怎么做?

谢谢

只需将背景图片设置为前景图片框的父级,透明度就会工作,而无需任何额外的编码

     With PictureBox1
        .Image = My.Resources._00_lichaam
        .SizeMode = PictureBoxSizeMode.Zoom
    End With
    With PictureBox2
        .Parent = PictureBox1
        .Image = My.Resources._01_Hoofd
        .SizeMode = PictureBoxSizeMode.Zoom
        .BackColor = Color.Transparent
    End With

应该可以

除非您需要PixtureBox控件用于显示图像以外的其他功能,否则您可以在Paint事件中将图像直接绘制到窗体中:

示例(您将需要计算长宽比等,但原则上):

Sub Form_Paint(s as Object, e as PaintEventArgs) Handles Me.OnPaint
    Dim r As New Rectangle(myX, myY, myWidth, myHeight)
    e.graphics.DrawImage(myImage, r)
End Sub

最新更新