Private Declare Function GdiTransparentBlt Lib "gdi32" (ByVal hdc1 As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal W1 As Long, ByVal H1 As Long, ByVal Hdc2 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal W2 As Long, ByVal H2 As Long, ByVal Color As Long) As LongPrivate Sub Form_Load()
'透明显示的过程
Dim W As Integer, H As Integer
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
 Picture2.Picture = LoadPicture(App.Path + "\bchscale3.jpg")
   Picture1.Picture = LoadPicture("E:\VB设计\第五次做刺球\39.bmp")
'Picture1.Move Screen.Width  '此句把孪生图移到屏幕外,效果等同picture1.visible=false
W = Picture1.ScaleWidth
H = Picture1.ScaleHeight
GdiTransparentBlt Picture2.hDC, 100, 100, W, H, Picture1.hDC, 0, 0, W, H, RGB(0, 0, 0) '把Picture1的图片复制到Picture2中,Picture1的图片中的白色会被屏蔽掉,这样就可以透明显示了
End Sub '用小女孩的图似乎图像边缘没问题,但用刺球怎会边缘还有背景像素?可能是颜色差异太大引起?