我有一个名为 donkey1.png 的 .png 文件-它具有透明背景,我已将其加载到名为 pcbDonkey1 的图片框中-我已更改图片框的属性以使背景色透明-这不起作用,因为它仍然交叉另一张图片,背景为白色。
我听说过使用 GDI 绘制此图像,因此它将具有透明图像,并且能够在没有白色背景的情况下穿过图像。
你会怎么做?
谢谢
我有一个名为 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