Transparence

BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 - 30 juin 2005 à 09:37
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 - 30 juin 2005 à 16:16
'lut

comment transformer une couleur d'une picturebox en transparent ???

l'api TransparentBlt a besoin d'une destination differente de la source, sinon j'ai pas tout compris...

++

BasicInstinct

6 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
30 juin 2005 à 11:08
Ben où est le problème ?



Tu n'est pas obligé d'afficher l'image source, il te suffit de la mettre dans un DC temporaire par exemple.


Le problème si tu utilise TransparentBlt sur le même picturebox, c'est
que l'image avec fond transparent va être copié sur l'image sans fond
transparent, et tu n'y verra pas la couleur de transparence...
forcément ;)


DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
30 juin 2005 à 11:18
j'arrive pas a faire ce que je veux....

je deplace des controls dans une picturebox
set CTRL.Container = Pic

un de mes controle est une picturebox decoupee avec CreatePolygonRgn

jusque la pas de pb

maintenant je veux virer la couleur de fond de ma picture
comment je peux faire ?

puis la poser a l'endroit ou le curseur de la souris est positionnée (pas de pb non plus

J'ai essayé de passer par un usercontrol, mais les control rajouté par .Container disparaisse si je passe le usercontrol transparent. (mais pas qd je les rajoute en mode creation)

++

BasicInstinct
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
30 juin 2005 à 11:25
Ok, tu veux donc juste découper ton picturebox selon la couleur de transparence de ton image ?



Le usercontrol devrait marcher normalement : tu définit le backstyle à
Transparent, tu mets ta couleur de transparence dans le MackColor, tu
définit l'image de ton usercontrol dans les deux propriétés Picture et
MaskPicture, et si le usercontrol disparaît, fait un ZOrder pour le
repasser devant.



Si ca ne marche pas, découpe ton picturebox (j'ai fait une source la
dessus, qui marche pas très très bien à cause de GetDIBits que
j'utilisais mal à l'époque, mais qui a l'avantage d'être bien plus
rapide que la plupart des sources de découpages qu'on trouve ici et qui
utilise GetPixel ! D'ailleurs, il vaudrait mieux utiliser ma classe de
gestion d'image pour obtenir une rapidité optimale !).

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
30 juin 2005 à 11:54
en fait, c'est pas le usercontrol qui disparait, c tous les controls rajoutés par
.Container=...
comme si lorsque je passe le backstyle a 0, mes controls n'etaient pas pris en compte.

si tu as 5min a me consacrer, je peux t'envoyer un bout de code, tu comprendra ptre mieux ce qui cloche...

BasicInstinct

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
30 juin 2005 à 12:37
Oui je vois ce que tu veux dire.



Mais alors pourquoi ne pas travailler directement avec une image copiée par TransparentBlt au lieu de passer par un picturebox ?



Si ton container à un DC rattaché, ca serait sûrement plus simple à faire !


DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
30 juin 2005 à 16:16
j'utilise ma picture comme container.

dc je deplace ma picture a l'interieur de mon usercontrol, ca me prend aussi les commandbutton, labels.... qui sont a l'interieur

c peut etre un peut tordu, mais j'ai pas trouvé d'autre solution pour faire un infobulle avec boutons, listbox...
Rejoignez-nous