Bonjour à tous.
Je viens de passer toute ma matinée à rechercher une solution pour rendre la couleur de fond d'une image transparente, et que cela fonctionne meme si le background de la Form est une image.
J'ai trouvé plein de solutions, toutes complexes, pour enfin tomber sur LA solution simple et efficace.
Prerequis : rien, vous pouvez utiliser une image avec le format de pixel qui vous plait (8,16,24,32bits). En contre partie, votre couleur de fond doit etre exclusive : cad que si votre fond est blanc, il ne doit y avoir aucun pixel blanc dans le contenu à afficher, autrement il sera egallement transparent. Je conseille donc de peindre votre arriere plan avec une couleur horrible, Vert Flashy par exemple
voici la methode:
Simple non?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public WaitForm() { Bitmap bmp = new Bitmap(MonImage); pictureBox1.BackColor = Color.Transparent; bmp.MakeTransparent(bmp.GetPixel(1, 1)); //On supose ici que le premier pixel en haut à gauche de votre image fait parti du background, à vous d'adapter les coordonnées si besoin est. pictureBox1.Image = bmp; }
quelques keywords pour les recherches : image transparente background gdi c# csharp bitmap
Partager