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.
moumouteb
Messages postés192Date d'inscriptiondimanche 16 janvier 2005StatutMembreDernière intervention28 février 201110 31 mars 2008 à 19:40
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.
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 31 mars 2008 à 21:32
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.
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 31 mars 2008 à 17:58
Salut
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)
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 31 mars 2008 à 18:05
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 ?
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 31 mars 2008 à 20:34
Salut Vecchio
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.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 31 mars 2008 à 22:45
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.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 1 avril 2008 à 13:22
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.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 1 avril 2008 à 20:49
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...)
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 1 avril 2008 à 23:26
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
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 1 avril 2008 à 23:36
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.
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 2 avril 2008 à 21:46
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.
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 2 avril 2008 à 22:15
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.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 2 avril 2008 à 22:24
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).