DESSINER UN BITMAP TRANSPARENT (WIN32)

Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
- - Dernière réponse : christophelande
Messages postés
15
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
26 février 2006
- 5 avril 2005 à 13:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22723-dessiner-un-bitmap-transparent-win32

Afficher la suite 
cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2 -
Je ne comprends pas une truc, pour creer le mask, tu as juste besoin de faire :
SetBkColor(hDCBmp, clrTransparent);
BitBlt(hDCBmpMask, 0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, hDCBmp, 0, 0, SRCCOPY);

??
ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8 -
Ouais, j'ai trouvé ce truc dans un bout de code et j'ai été assez surpris mais ça marche!!!

tous les pixels de l'image source de la couleur du fond seront mise au blanc et les autres au noir.

je pense pas qu'on puisse faire plus simple.
cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2 -
Oui mais comme on fais un COPY, le couleur du fond ne drevrait pas intervenir
ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8 -
n'oublie pas que le bitmap dans lequel on recopie est monochrome avec une couleur de fond par défaut au blanc. Donc je suppose que lorsque la fct BiBlt recopie le bitmap, étant donné qu'il n'y a que 2 couleurs possibles, il mappe ensemble les couleurs des fonds et met le reste au noir.
christophelande
Messages postés
15
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
26 février 2006
-
Je me suis inspirer de ta source pour créer un bouton transparent :
http://www.cppfrance.com/code.aspx?ID=30563