我得到了一个名为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