Fill couleur perso

Résolu
aposfa Messages postés 36 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 14 mars 2009 - 31 mai 2006 à 19:48
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 - 31 mai 2006 à 20:18
salut tout le monde

en fait je crée une ellipse, dont le contour est une couleur personnalisée choisie par l'utilistaeur avec ColorDialog, cette variable couleur s'appelle color.

Maintenant je veux remplir l'ellipse avec cette meme couleur, mais je n'y arrive qu'avec les couleurs de base.
Comment faire ?

Mon code :

public

void Display(PaintEventArgs e){

Pen pen =

new Pen(color);

Brush brush = System.Drawing.Brushes.Black; //en attendant je l'ai mis noir pour pouvoir tester si le remplissage marchait, mais c'est bien ici qu'il faut redéfinir brushe.Graphics.DrawEllipse(pen,center.X,center.Y,size.Width,size.Height); //je crée l'ellipse

if(filled ==
true) //booléen qui correspond juste au choix de l'utilisateur s'il veut que l'ellipse soit remplie ou pas   e.Graphics.FillEllipse(brush,center.X,center.Y,size.Width,size.Height);

}

Merci de votre aide

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2006 à 19:55
Salut,
Tu peux construire un SolidBrush et passer ta couleur en argument :
SolidBrush sBrush = newSolidBrush(color)
Et ensuite passer le sBrush à FillEllipse...

<hr size="2" /> VC# forever
=13319
3
aposfa Messages postés 36 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 14 mars 2009
31 mai 2006 à 20:01
merci beaucoup c'était bien ca qui me manquait !!!

encore merci
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2006 à 20:16
De rien

<hr size= "2" /> VC# forever
=13319
0
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
31 mai 2006 à 20:18
Salut
Il y a moyen de faire une amélioration (je crois) : tu dessines une ellipse (non remplie) pour en ensuite en dessiner une (remplie) à la même place :

if(filled == true)
      e.Graphics.FillEllipse(brush,center.X,center.Y,size.Width,size.Height);
else
    e.Graphics.DrawEllipse(pen,center.X,center.Y,size.Width,size.Height);

A++
0
Rejoignez-nous