PictureBox!!!

CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 - 8 oct. 2005 à 13:57
CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 - 10 oct. 2005 à 16:46
Bonjour ;



J'aimerai utiliser le composant pictureBox dans VS 2003 en C# pour
qu'il prenne la forme de l'image à insérer. Donc si l'image est ronde,
les côtés du composant sont transparents.



Même après appliquer la transparence à la propriété BackColor, le composant pictureBox reste carré et je ne vois pas ce qu'il y a derrière!!!



Quelqu'un peut m'orienter !!!

12 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
8 oct. 2005 à 14:07
0
CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 1
8 oct. 2005 à 16:09
Là je comprend redessiner carrément l'objet !!!! Ou ya autre chose !!!



Merci !!!
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
8 oct. 2005 à 17:46
Es tu sûr d'avoir besoin de passer par le controle PictureBox pour ton rendu d'image ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 1
9 oct. 2005 à 10:34
Ben, ché pas... Justement je cherche l'astuce pour le faire !!! Passer par un contrôle pictureBox
ou autre chose... ça porte peu... L'essentiel, je cherche un truc pour
avoir sur ça forme une image pas carrée !!! Dans le but de voir ce qui
se cache derrière les parties du contôle qui ne font pas partie de
l'image (dans le cas où celle-ci est ronde, par exemple) !!!

Merci .
0

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

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
9 oct. 2005 à 11:10
Dans ce cas là tu peux directement dessiner l'image toi même comme le proposait Mx :

// chargement de l'image depuis le disque
Image img = Image.FromFile(@"C:\img.jpg");


// initialisation du Graphics
Graphics g = this.CreateGraphics();


// définition des attribut de dessin de l'image
ImageAttributes imageAttr = new ImageAttributes();
// la couleur de transparence sera la couleur blanche
imageAttr.SetColorKey(Color.White, Color.White, ColorAdjustType.Default);


// définition du rectangle de dessin de l'image et de son fond
Rectangle rect = new Rectangle(0, 0, img.Width, img.Height);


// dessin d'un rectangle de fond
g.FillRectangle(Brushes.Red, rect);


// dessin de l'image
g.DrawImage(img, rect, 0, 0, rect.Width, rect.Height, GraphicsUnit.Pixel, imageAttr);

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
9 oct. 2005 à 11:27
Ah oui j'allais oublier : si ton image est au format gif ou png et contient ses infos de transparence ce n'est pas plus mal :

// chargement de l'image depuis le disque
Image img = Image.FromFile(@"C:\img.gif");


// initialisation du Graphics
Graphics g = this.CreateGraphics();


// définition du rectangle de dessin de l'image et de son fond
Rectangle rect = new Rectangle(0, 0, img.Width, img.Height);


// dessin d'un rectangle de fond
g.FillRectangle(Brushes.Red, rect);


// dessin de l'image
g.DrawImage(img, rect);

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
9 oct. 2005 à 15:35
Salut, une autre possibilité :

bmp.MakeTransparent( bmp.GetPixel( 0, 0 ) );
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
9 oct. 2005 à 15:43
Effectivement, je l'avais oubliée celle là

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 1
10 oct. 2005 à 15:47
Merci à tous, ça marche !!!



Thanx !!!
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
10 oct. 2005 à 16:25
Merci a coq surtout

Mx
0
CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 1
10 oct. 2005 à 16:38
Là, tu peux le dire ... Merci Cocoricoooooooo !!!
0
CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 1
10 oct. 2005 à 16:46
J'ai un autre problème !!!



Je suis en train de travailler sur une interface pour mon application,
donc la fenêtre principale n'est pas carrée !!! J'ai intégré une OCX
Vidéo que j'affiche sur un groupBox (ou panel), donc groupBox.Handle.ToInt32()...



L'événement onPaint redessine donc toute l'interface
(raffraîchissement) y compri le contrôle qui contient la vidéo et c'est
là mon problème : J'ai une instabilité de la vidéo !!!



Quelqu'un peut m'orienter ?



Merciiiiiiiiiiiiii !!!
0
Rejoignez-nous