Salut,
Est-ce que vous savez si il est possible avec une PictureBox que les contours du controle s'adaptent à la forme de l'image, ou mieux, si il est possible d'appliquer de la transparence sur le controle?
Merci
Salut,
Est-ce que vous savez si il est possible avec une PictureBox que les contours du controle s'adaptent à la forme de l'image, ou mieux, si il est possible d'appliquer de la transparence sur le controle?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 using System using System.Drawing; using System.Windows.Forms; //... this.Panel1.BackColor = Color.Transparent; this.Panel1.BorderStyle = BorderStyle.None;
fenetre de propriétés de ton contrôle, background color, onglet web, transparent![]()
Arf, ca ne marche pas. Je vais détailler un peu plus:
J'ai une première pictureBox (une image de fond)
Par dessus, je veux mettre plusieurs pictureBox, mais je veux pouvoir appliquer de la transparence sur les images du dessus afin de laisser apparaitre l'image du dessous.
![]()
j'ai jamais eu ce problème, au contraire, ca a toujours bien marché
tu ne redéfini pas ta couleur de fond quelque part dans ton code ?
Sinon essaie peut-être ceci :
Ca définit la couleur du pixel inférieur gauche de ton image comme couleur transparente...
Code : Sélectionner tout - Visualiser dans une fenêtre à part ((Bitmap)MaPicBox.Image).MakeTransparent(((Bitmap)MaPicBox.Image).GetPixel(0,MaPicBox.Image.Size.Height-1));
joujou_le_fou: quel framework?
j'ai justement eu ton probleme lorsque je suis passé à la beta 2 du FX 2.0. bug que je n'avais pas auparavant. Donc. quel FX utilises-tu?
J'ai essayé les 2 framework. Le résultat est le même.
SLE, j'ai essayé ton code, et malheureusement, il ne marche pas.
Je pense avoir compris ce qu'il se passe: la transparence de l'image du dessus est appliqué par rapport au backgroud de la Form. Ce qui fait que si je change la couleur de fond de la form, l'image du dessus prend en effet la couleur du backgroud de la form.
N'y a t il pas moyen de faire comprende à la form qu'il y a une image entre celle du dessus et le beckgroud de la form?
Mon idée est celle-ci, si tu ne l'a déjà fait
Ordonner tes containers, je m'explique
Pour ton PictureBox1, c'est je suppose
Utilises maintenant ton PictureBox comme Container des autres controles ajoutés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.Controls.Add(this.PictureBox1);
Maintenant si tu as défini la transparence comme indiqué en première solution pour ces nouvelles PictureBox, elles devraient laisser apparaître PictureBox1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.PictureBox1.Controls.AddRange(new Control[]{this.PictureBox5,this.PictureBox4,this.PictureBox3,this.PictureBox2};
Ok j'ai essayé ta solution neguib et elle marche, en la combinant à celle de SLE. Merci à tous
Partager