To work with
transparent Bitmaps,
you will always need a picture and a mask of that picture . Save these pictures to your
harddisk, and load the first picture in a
PictureBox, named Picture1, and the mask
in a PictureBox, named Picture2. Then,
add a third PictureBox to your form.
We'll first copy the mask to that third
PictureBox and then we'll copy the normal
picture.
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Integer
Private Sub Form_Load()
'set the graphic mode to 'persistent'
Picture1.AutoRedraw = True
Picture2.AutoRedraw = True
Picture3.AutoRedraw = True
'API uses pixels
Picture1.ScaleMode = vbPixels
Picture2.ScaleMode = vbPixels
'do the transparent blitting
BitBlt Picture3.hDC, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, Picture2.hDC, 0, 0, vbSrcAnd
BitBlt Picture3.hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, vbSrcPaint
End Sub
|