Fill couleur perso

[Résolu]
Signaler
Messages postés
36
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2009
-
Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
16 mai 2007
-
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

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
58
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
Messages postés
36
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2009

merci beaucoup c'était bien ca qui me manquait !!!

encore merci
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
58
De rien

<hr size= "2" /> VC# forever
=13319
Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
16 mai 2007
12
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++