Convertir couleur en hexa

Résolu
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009 - 11 févr. 2006 à 11:07
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009 - 22 juin 2007 à 13:16
Bonjour,
Je suis sur un projet de création de skin pour SPV C600 et je dois créer un colorScheme.
Comment convertir une couleur en valeur hexa (#FFFF par exemple) ?
Merci d'avance

@ plus

lagoelle

6 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
11 févr. 2006 à 12:54
Ah oui, j'avais oublier que quand il s'agit d'une couleur nommée il donne son nom (logique).

Donc soit tu écrit tes routines de convertion, soit tu bidouilles ^^ :

Color col = Color.FromArgb(Color.White.ToArgb());
MessageBox.Show(ColorTranslator.ToHtml(col));

Te donneras #FFFFFF

Alors que
Color col = Color.White;
MessageBox.Show(ColorTranslator.ToHtml(col));

Te donneras "White", comme il connait le nom.

En gros, le tout est d'éliminer le nom de la structure Color en initialisant une nouvelle à partir de l'ARGB de la couleur nommée.

Exemple de méthode "finie" :

private static string ColorToHex(Color col)
{
if (col.IsNamedColor || col.IsKnownColor || col.IsSystemColor)
{
return ColorTranslator.ToHtml(Color.FromArgb(col.ToArgb()));
}
else
{
return ColorTranslator.ToHtml(col);
}
}

/*
coq
MVP Visual C#
*/
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
11 févr. 2006 à 11:14
Salut,

Avec la méthode ToHtml de la classe ColorTranslator.

/*
coq
MVP Visual C#
*/
0
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
11 févr. 2006 à 12:20
Salut coq

J'ai essayé ça:
string couleur = ColorTranslator.ToHtml(cmdCOLOR_GRADLEFT.BackColor);
MessageBox.Show(couleur);

et ça me renvoie "White".
Ce que je voudrais c'est le code Hexa (#00000)
J'ai peut etre mal utilisé la méthode :-(

@ plus

lagoelle
0
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
11 févr. 2006 à 13:33
Merci beaucoup coq ;-)

@ plus

lagoelle
0

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

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
22 juin 2007 à 11:55
0
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
22 juin 2007 à 13:16
En effet, c'est une autre possibilité. Merci ;-)

@ plus

lagoelle
0
Rejoignez-nous