Comment en partant d'une couleur, peut-on retrouver les valeurs de chaque composante de cette couleur ?
Mon but est de pouvoir, en partant d'une couleur, en définir une nouvelle qui ira plus vers le rouge, le vert ou le bleu (suivant mes envies quoi).
Pour par exemple recréé des dégradés de couleurs !
un peu comme du code HTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #CC0000 #FF0000 => je le veux rouge + lumineux, donc j'augmente ces 2 valeurs
Ce que j'ai essayé :
Convertir la couleur en un entier puis ajouter une nouvelle valeur entière et reconvertir en TColor => Aïe, c'est pas vraiment un dégradé!
Puis j'ai essayé ceci :
reverseAS est une fonction à moi pour inverser la chaîne ansistring...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int a = ColorDialog1->Color; AnsiString couleur = IntToHex(a,8); AnsiString RR = this->reverseAS(couleur.SubString(couleur.Length()-2, 2)); AnsiString VV = this->reverseAS(couleur.SubString(couleur.Length()-4, 2)); AnsiString BB = this->reverseAS(couleur.SubString(couleur.Length()-6, 2)); int b = RR.ToInt(); ShowMessage(RR+VV+BB + " " + b);
Mais, pb, certaines couleurs ne passent pas !?
Bref, avez-vous une autre solution ?
Partager