| |
|
|
Georg Teles | une schnelle Possibilité, une monochrome / noir-weiße masque aus einem Bildhandle trop erstellen - Beispiel beigefügt
Herunterladen
Voir le texte source
DEF CreateBitmap(5)!"GDI32","CreateBitmap"
DEF CreateCompatibleDC(1)!"GDI32","CreateCompatibleDC"
DEF SelectObject(2)!"GDI32","SelectObject"
DEF SetBkColor(2)!"GDI32","SetBkColor"
DEF BitBlt(9)!"GDI32","BitBlt"
DEF DeleteDC(1)!"GDI32","DeleteDC"
Proc Mask
Paramètres hPic&, dx&, dy&, col&
Déclarer Mask&, dcPic&, dcMask&
mask& = CreateBitmap(dx&, dy&, 1, 1, 0)' monochrome Bitmap erzeugen
dcPic& = CreateCompatibleDC(0)
dcMask& = CreateCompatibleDC(0)
SelectObject(dcPic&, hPic&)
SelectObject(dcMask&, Mask&)
SetBkColor(dcPic&, col&)' la couleur, qui comme Transparent behanldet volonté soll
BitBlt(dcMask&, 0, 0, dx&, dy&, dcPic&, 0, 0, $00CC0020)' $00CC0020 = SRCCOPY
SelectObject(dcMask&,Mask&)
DeleteDC(dcPic&)
DeleteDC(dcMask&)
Retour Mask&
ENDPROC
CLS RGB(100,100,100)
Déclarer bmp24bit&, mask24&
Déclarer bmp32bit&, mask32&
bmp24bit& = Créer(«PCSI»,-1,"icon24bit.bmp")
bmp32bit& = Créer(«PCSI»,-1,"icon32bit.bmp")
mask24& = Mask(bmp24bit&,%BmpX,%BmpY,RGB(255,0,0))' chez 24 Bit Bitmaps peux bestimmte la couleur gewählt volonté, qui transparent son soll
mask32& = Mask(bmp32bit&,%BmpX,%BmpY,RGB(0,0,0))' chez 32 Bit Bitmaps avec un canal Alpha ist qui transparente la couleur noir
DrawPic bmp24bit&,0,0;0
DrawPic mask24&,0,32;0
DrawPic bmp32bit&,32,0;0
DrawPic mask32&,32,32;0
WaitInput
DeleteObject bmp24bit&
DeleteObject bmp32bit&
DeleteObject mask24&
DeleteObject mask32&
|
|
|
| |
|
|