Est ce que quelqu'un peut m'expliquer comment manipuler les couleurs ?!
J'ai compris qu'il y avait plusieurs façons :
Color.Red, Color.Green ...
des couleurs sous forme d'entier.
des couleur en hashcode
sous 3 composantes.
sous 4 composantes.
j'aimerais convertir une couleur définie comme Color.Red par exemple en sa valeur entière (2chiffres je crois)
PS : si mes questions sont un peu relourdes, expliquer moi comment trouver ces informations ailleur parce que dans le msdn, je trouve pas, et dans les tutos non plus ...
Voila, j'ai fait une méthode qui retourne la composante la plus grande.
Ca fait que 3 couleurs mais c'est déja ca.
Si quelqu'un possède une méthode qui converti une couleur (R,G,B) en la couleur excel la plus proche, je suis intéréssé, moi j'ai pas le temps de m'amuser à la faire.
Comme tu le signales, tu peux définir les couleurs
- comme des entiers (ToArgb)
- avec 3 composantes (rouge, vert, bleu)
- avec 4 composantes (rouge, vert, bleu, alpha)
mais à ma connaissance, pas avec 2 composantes.
Color c = new Color();
c = Color.Red;
// Obtient la valeur Argb d'une couleur.
MessageBox.Show(c.ToArgb().ToString());
// Obtient la valeur alpha d'une couleur.
MessageBox.Show(c.A.ToString());
// Obtient les 3 valeurs caractéristiques d'une couleur
// qui sont le rouge, le vert et le bleu.
MessageBox.Show(c.R.ToString());
MessageBox.Show(c.G.ToString());
MessageBox.Show(c.B.ToString());
Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
ok mais la valeur entière retournée par ToArgb() est une valeur sur 5 chiffres avec un signe en plus.
Moi je veux pouvoir attribuer une couleur du type color.red à une case excel
range.Interior.ColorIndex
et ce colorindex à l'air de vouloir des valeurs sr 2 chiffres
Une couleur, c'est 3 composantes R G B (pour Red Green Blue / Rouge Vert Bleu) + parfois une 4eme composante, la couche Alpha, qui en fait défini la transparence a appliquer.
Ces 4 valeurs sont comprises entre 0 et 255 (un octet).
Donc en effet, via la structure Color, tu peux recupere les Propriétés Color.R, Color.G et Color.B, ... ou sous forme d'entier avec la méthode ToArgb()
Dans ton cas, par contre, il faut se renseigner, pour voir ce que Range.Interior.Color prend comme valeur. (si ca se trouve, ce n'est pas cette propriété la qu'il faut utiliser).
Non.
Excel a son propre index de couleurs.
Donc pour faire ce que tu souhaites faire, il va falloit te creer une petite méthode qui compare la couleur de la cell de ton datagridview, et qui retourne la couleur qui ressemble le plus dans excel.