brixi69
Messages postés44Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention31 mars 2008
-
12 juin 2007 à 09:51
brixi69
Messages postés44Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention31 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 ?
brixi69
Messages postés44Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention31 mars 2008 12 juin 2007 à 14:15
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;
brixi69
Messages postés44Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention31 mars 2008 12 juin 2007 à 13:44
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.