2

我有一个名为 donkey1.png 的 .png 文件-它具有透明背景,我已将其加载到名为 pcbDonkey1 的图片框中-我已更改图片框的属性以使背景色透明-这不起作用,因为它仍然交叉另一张图片,背景为白色。

我听说过使用 GDI 绘制此图像,因此它将具有透明图像,并且能够在没有白色背景的情况下穿过图像。

你会怎么做?

谢谢

4

2 回答 2

6

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

     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

那应该工作

于 2013-06-18T21:00:57.110 回答
3

除非您需要 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
于 2013-01-11T15:37:41.720 回答