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.
Pour avoir tester la méthode de Laurent je suis ok.
A la seule condition de remplacer jaune par jaune=[255,255,0] (le lien qui ait mis est celui du orange ^^).
Enfin la technique marche très bien ici (et me suffit j'en demande pas plus) mais c'est vrai que si le degradé devait se faire entre d'autres couleurs ça deviendrait peut être un peu plus problèmatique (si il faut jouer sur plusieurs couleurs en même temps).
Mais pour ma part ça me va très bien merci.
<hr width="100%" size="2" />
Quand la merde vaudra de l'or les pauvres naitront sans trou du cul. Coluche.
J'aimerai bien voir ta méthode pour faire de large dégrader. Du rouge au violet par exemple.
Moi je ne change que la teinte (Hue) la saturation et l'éclairement reste constant. Je n'ai donc qu'un unique paramètre sur lequel je boucle.
En RVB Rouge (206,0,0) <-------------> Vert(20,206,0)<---------->Violet(206,0,206)
En HSL Rouge(0,240,97)<-------------> Vert(76,240,97)<---------->Violet(200,240,97)
C'est flagrant.
D'ailleurs ce n'es pas par hasard que Paint utilise HSL pour générer sont dégrader:
En abscisse la teinte, en ordonnée la saturation et en z la luminance.
Je trouve que cet espace de couleur est très instinctif et devrait être plus utilisé.C'est bien plus facile de segmenter des images couleurs dans cet espace.
Il faut que tu convertisses tes couleurs en HSL (Hue saturation Luminance) Ainsi en ne modifiant qu'un unique parametre, Hue, tu auras ton jolie degrader.
Il faut donc que tu codes la convertion du HSL en RGB, (C'est pas tres difficile)
Cela doit pouvoir aussi marcher :
Rouge = [255, 0, 0]
jaune = [255, 165, 0] (d'apres http://fr.wikipedia.org/wiki/Orange_(couleur))
n = nombre de couleur intermédiaire
0 <= x <= n
Couleur intermédiaire x = [255, x * 165/n, 0]
Cdt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Pourquoi passer par HSL? Essaie simplement de faire un dégrader du rouge au violet en RGB et tu comprendras. (Regardes la boite de dialogue "couleurs personnalisées" avec Paint c'est plus parlant.)
Miquel75 >>je pense que tu parles trop vite. J'ai toujours fais mes dégrader en HSL et c'est pas près de changer.
Bas c'est clair. Pour un soft scientifique hors de question de faire un dégradé avec du rgb directement alors que pour du rendu temps réel 3D, ca peut s'imaginer.
Il semble pourtant clair que le dégradé est généré dans l'espace HSL. Une seule des composantes varient suivant chaque axe, alors que ce n'est pas le cas pour les composantes rgb.
D'après ce que je comprends, le HSL n'est utile que dans des cas très particuliers (si on prend un dégradé entre 2 couleurs quelconques, il y a forcément plusieurs composantes qui varient...)
Oui ca c'est certain que si on prend 2 couleurs aleatoirement et que l'on veux faire un dégrader entre ces deux couleurs, il y aura plusieurs composantes qui changeront.
Mais je maintiens que c'est plus facile de faire un dégrader en HSL
J'aimerais bien savoir en quoi c'est plus facile, car à part amener des calculs supplémentaires (pour faires les conversions), je ne vois pas ce que ca apporte.
Salut
Je te propose un petit jeu pour voir laquelle des deux méthodes est la plus facile a réaliser.
Le but du jeu est de reproduire à l'identique le dégradé de la boite de dialogue," modifier les couleurs" de MSPaint.
Miquel75 nous assurant (en ayant les code sous les yeux) qu'il est généré sans passez par le systeme HSL cela ne devrait pas posser de probleme pour le coder en RGB.
Il nous restera plusqu'a comparer la méthode la plus facile a implementer.
Oui je veux bien mais le probleme c'est que l'on aura jamais le meme degrader avce nos deux alogorithmes...
Alors que la tu sais ce que tu dois obtenir.
C'est sur que pour ce dégradé-là, HSL est plus adapté, c'est d'ailleurs une sorte de représentation à mon sens de ce qu'est le codage HSL (tu fais varier H et S et tu obtiens ca).