Noir transparent

| - BLAFARD - | - 23 juin 2001 à 01:08
 int19h - 23 juin 2001 à 11:26
bon, alors :
g 2 picturebox

la premiere devans
la seconde derriere

comment faire pour que les zones noires de la bitmap contenue dans la premiere picturebox ne cache pas la seconde picturebox ???

1 réponse

Le mieux serait d'utiliser un p'tit API. Tu charges les 2 images dans 2 PictureBox, puis tu copies une des 2 dans l'autre.

Par exemple, Picture1 dans Picture2...

Utilises ce code pour ca :

Private Declare Function TransparentBlt Lib "msimg32.dll" (ByVal hdc 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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal crTransparent As Long) As Boolean

Private Sub Form_Load()
Picture1.AutoSize = True
Picture1.ScaleMode = vbPixels
Picture2.ScaleMode = vbPixels

'If we don't call DoEvents first, our transparent image will be completely wrong
DoEvents
TransparentBlt Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, vbBlack

End Sub

Voila, pour info, tu peux definir n'importe quelle couleur en transparence. Il suffit de mettre la couleur a la place de vbBlack.
Tu peux meme utiliser la fonction RGB de VB.

Question(s) : Int19h@usa.net

a+

Int19h
0
Rejoignez-nous