cs_Stephane
Messages postés550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006
-
18 juin 2002 à 20:48
cs_Johjo
Messages postés19Date d'inscriptionmardi 5 juin 2001StatutMembreDernière intervention22 août 2002
-
22 août 2002 à 10:46
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 ?
cs_Stephane
Messages postés550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006 19 juin 2002 à 12:17
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
cs_Johjo
Messages postés19Date d'inscriptionmardi 5 juin 2001StatutMembreDernière intervention22 août 2002 22 août 2002 à 10:46
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