Paintpicture + couleur transparente

Signaler
Messages postés
550
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006
-
Messages postés
19
Date d'inscription
mardi 5 juin 2001
Statut
Membre
Dernière intervention
22 août 2002
-
salut a tous

voila, j'ai eu vu des bouts de code utilisant un api du style bitblt, mais je ne sais pas comment l'utilser.
en fait ce que je voudrai faire c pareil qu'avec la fonction paintpicture, mais avec une couleur transparente.

Donc ma question c'est comment (si possible simplement) faire un paintpicture avec une couleur transparente ?

Merci beaucoup à tous pour vos réponses
Stéphane

4 réponses

Messages postés
25
Date d'inscription
vendredi 26 avril 2002
Statut
Membre
Dernière intervention
16 février 2003

eu... VB6 prend les GIF les enfants... pkoi tlm demande comment faire de la transparence

Soniq Exnihilo
Messages postés
550
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006

salut

parce qu'en fait, l'image n'est pas stockée dans un image mais dans un picture et une fois l'image gif dans le picture, y a plus de couleur transparente puisque c'est considéré comme BMP

merci kan meme
a+
Messages postés
25
Date d'inscription
vendredi 26 avril 2002
Statut
Membre
Dernière intervention
16 février 2003

met un "image" dans un "picture".. enfin si c compatible avec se que tu veut faire

Soniq Exnihilo
Messages postés
19
Date d'inscription
mardi 5 juin 2001
Statut
Membre
Dernière intervention
22 août 2002

Je repond un peu en retard ;) mais bon
Avec la méthode paintpicture, pour faire des effets transparents, il faut que tu te serve du dernier parametre de paintpicture.

Je pense par exemple que si tu as un rond, tu voudrais copier seulement le rond, et pas le carré blanc qui l'entoure, c'est ça?

donc pour ça, il faut que tu prenne ton image principal, le rond par exemple, et que tu mette en noir tout ce qui doit etre invisible, et tu ne touches pas le reste de l'image. On appelera cette image l'image1
Ensuite, tu copie l'image, et là
tout ce qui doit être invisble, tu le met en blanc, et tout ce qui doit etre visible tu le met en noir. Ce sera l'image2

Ensuite, dans VB
tu declare :Const SRCPAINT &HEE0086 ' (DWORD) dest source OR destConst SRCAND &H8800C6 ' (DWORD) dest source AND dest

dans picture1, tu vas mettre l'image1
dans picture2, tu vas mettre l'image2
et un picture3 auquel tu met une image de fond (si tu veux en mettre une)
et tu fais ensuite
picture3.paintpicture picture2,X,Y,,,,,,SRCAND
picture3.paintpicture picture1,X,Y,,,,,,SRCPAINT

et tu obtiendras un rond (dans l'exemple), comme ça, tu n'es pas obligé de faire des formes carrés.
Si tu n'y arrive pas, mail moi à Johjo@free.fr, je t'expliquerai mieux en detail