moumouteb
Messages postés192Date d'inscriptiondimanche 16 janvier 2005StatutMembreDernière intervention28 février 2011
-
31 mars 2008 à 17:34
VelocityPulse -
8 févr. 2016 à 13:21
Bonjour.
Voila pour représenter des températures je dois dans un programme je dois faire un dégradé de couleurs du jaune au rouge. Il faut donc que je fasse ça avec les RGB. Comment faire pour obtenir un dégradé uniforme avec n couleurs différentes?
Je demande pas l'algorithme tout fait (bien que je ne sois pas contre) mais au moins le principe :" tu ajoutes deux au rouge et trois au vert" enfin quelque chose comme ça que je puisse ensuite généraliser dans un algorithme.
Donc voila si quelqu'un peut me donner la méthode de création d'un dégradé merci bien.
Quand la merde vaudra de l'or les pauvres naitront sans trou du cul. Coluche.
A voir également:
Dégradé vert rouge
Dégradé de couleur vert - Meilleures réponses
Dégradé de rouge code couleur - Meilleures réponses
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 2 avril 2008 à 22:32
Je suis tout a fait d'accord avec toi. Les couleurs dans le systeme HSL sont plus instinctif plus proche de la perception humaine.
Cependant ca me parait étrange que les programmeurs de MSPaint voulant faire une représentation du codage HSL ne passe pas par le HSL...
J'aimerai que Miquel75 nous disent un peu plus précisement de la manière adoptée pour code ce dégrader.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 2 avril 2008 à 22:38
Ce n'est pas spécialement MSPaint qui est fait comme ca, c'est une boite de dialogue qui fait aprtie intégrante de Windows, tu l'obtiens en appelant la fonction ChooseColor (ca m'étonnerait aussi qu'il soit fait en RGB...)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 2 avril 2008 à 22:53
Ha je ne savais pas pour cette boite de dialogue. C'est bon a savoir merci.
Bon en fait je pense que tout dépend du dégradé que l'on veut faire. Si on veut faire un dégradé entre deux couleurs voisines le codage RGB est amplement suffisant. Si on veut faire un dégradé plus étandu, le HSL semble etre une meilleure représentation
Je ne suis pas mécontent que tu penses comme moi pour la boite de dialogue ChooseColor.
J’ai beaucoup travaillé sur le sujet et pour ceux qui veulent la version pure C voici comment j’ai procédé.
typedef struct s_rgb
{
int r;
int g;
int b;
} t_rgb;
typedef struct s_dual_color
{
t_rgb c1;
t_rgb c2;
} t_dual_color;
La fonction:
c = les deux couleurs
c.c1 -> le départ
c.c2 -> la fin
n = le nombre de couleurs intermédiaires
p = l’endroit où nous nous trouvons (la position)
Cette fonction renvoi une couleur en rbg correspondant a la position (p) sur une nuance de deux couleur (c) avec comme information l’écart entre la couleur de depart et celle de fin (n).