Picturebox : image + couleur transparente [Résolu]

Messages postés
44
Date d'inscription
mardi 13 juin 2006
Statut
Membre
Dernière intervention
31 mars 2008
- - Dernière réponse : brixi69
Messages postés
44
Date d'inscription
mardi 13 juin 2006
Statut
Membre
Dernière intervention
31 mars 2008
- 12 juin 2007 à 14:15
Bonjour !

J'ai beau cherché une solution à mon problème mais en vain et pourtant ca doit être tout simple.

Admettons que j'ai une "Form" avec une backgroundimage quelconque.
J'aimerais ajouter dans cette "Form"  une pictureBox avec une image quelconque elle aussi. J'aimerais cependant pouvoir choisir une couleur transparente pour l'image contenue dans la pictureBox afin de voir le background du "Form" et non un fond gris, magenta, ou autre.

J'ai trouvé l'un ou l'autre code qui remplace les pixels de l'image mais ca me semble un peu barbare. Existe-t-il une alternative ?

Merci d'avance pour votre aide !

@"#+++
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
44
Date d'inscription
mardi 13 juin 2006
Statut
Membre
Dernière intervention
31 mars 2008
3
Merci
Après plusieurs recherches j'ai trouvé une technique qui fonctionne correctement. Il suffit simplement de passer par un nouveau bitmap dans lequel on défini la couleur transparente. Le BackColor du "PictureBox" doit tout de même être défini comme transparent.

//Récupération du bitmap
Bitmap popupLogo = new Bitmap("C:\\test.bmp");

//Récupération de la couleur transparente sur le premier pixel
popupLogo.MakeTransparent(popupLogo.GetPixel(1, 1));

//Réattribution de l'image avec fond transparent à la PictureBox
pictureBox1.Image = (Image)popupLogo;

Voilà !

@"#+++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 213 internautes nous ont dit merci ce mois-ci

Commenter la réponse de brixi69
Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Statut
Membre
Dernière intervention
18 octobre 2008
6
0
Merci
Salut,

Ca devrait marcher si tu mets la propriété BackColor de PictureBox à Transparent (System.Drawing.Color.Transparent).
Commenter la réponse de cs_niky
Messages postés
44
Date d'inscription
mardi 13 juin 2006
Statut
Membre
Dernière intervention
31 mars 2008
0
Merci
En fait j'avais déjà essayé évidemment mais cela rend la picturebox transparente tant qu'elle ne contient pas d'image. Lorsqu'elle contient une image cela ne fonctionne plus. Il faut que je puisse détemriner la seule couleur de mon image qui sera transparente.

@"#+++
Commenter la réponse de brixi69