Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
848 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Reclasser des couleurs en selon leur longueur d'onde (arc en ciel)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Reclasser des couleurs en selon leur longueur d'onde (arc en ciel)

n°1512141
red factio​n
Posté le 08-02-2007 à 11:55:05  profilanswer
 

http://arthur.u-strasbg.fr/~ronse/TIDOC/VISU/eye-sense.jpg
 
j'ai un tableau avec des couleurs en php , j'aimerais le reclasser suivant leur longeur d'onde (ex : rouge foncé rouge clair , orange, orange clair , jaune, vert citron ,vert etc....) , le classement doit etre dynamique je ne peut le faire avant , ni prevoir les couleurs qui vont etre dans le tableau (en le generant par exemple)
 
pour cela j'ai converti ma couleur RGB vers le format HSL (Teinte Saturation  Luminosité)
 
et je les reclasse suivant la teinte, seulement voila , du rouge , du gris clair , et du gris foncé on tous la même teinte (zero), et se retrouve donc melangé entre eux.
 
Si je reclasse d'apres la teinte, puis la saturation (qui permet de distingué le rouge du gris) ca va mieux mais les gris clair  sont tjs melangé avec les autres gris.... (et teinte , saturation , luminosité ne donne rien non plus)
 
bref ca marche pas tres fort  
 
qqn  aurait des idées????


Message édité par red faction le 08-02-2007 à 12:58:01
mood
Publicité
Posté le 08-02-2007 à 11:55:05  profilanswer
 

n°1512225
omega2
Posté le 08-02-2007 à 14:43:33  profilanswer
 

Pour ton tris, tu fais quoi un tri majeur sur la teinte et un tri mineur sur la saturation (on ne tri que les couleurs dont les teintes sont égales) ou bien tu fais un tri sur la teinte suivit d'un autre tri indépendant sur la saturation?

n°1512230
red factio​n
Posté le 08-02-2007 à 14:47:18  profilanswer
 

je calcule une valeur qui permet de trier mon tableau
 
val = teinte *100000+ luminosité
jai aussi essayé ca  
val = teinte *100000+ luminosité*100+saturation
val = teinte *100000+ saturation*100+luminosité
val = teinte *100000+ (saturation+luminosité)
 
puis je fait un asort dessus....

n°1512255
omega2
Posté le 08-02-2007 à 15:18:41  profilanswer
 

De mémoire, il existe en php une fonction de tri qui prend comme paramettre un tableau et une fonction personelle.
La fonction personelle prend comme paramettre les deux valeurs à trier et donne en sortie -1, 0 ou 1 pour indiquer qu'elle est la plus petite des valeurs.
 
Si tu veux garder ton calcul, alors il faut multiplier au moins par 101 et 10201 vu que la luminosité et la saturation vont de 0 à 100 compris (donc 101 valeurs différentes)
A noter qu'avec asort, tu gardes les même index pour chaque case, (les index ne sont plus dans l'ordre de départ) peut être que ton probléme viens de la méthode de parcours du tableau.
 
PS : Pose ton code qu'on voye ça si ca ne marche toujours pas. ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Reclasser des couleurs en selon leur longueur d'onde (arc en ciel)

 

Sujets relatifs
Couleurs de liensComment calculer la longueur d'une clé de chiffrage ?
transparance des couleursfirefox et la longueur d'une iframe
Pipette pour avoir les codes couleurs..Probleme de couleurs de police sous Firefox
melange de couleurs avec php/gdprobleme de longueur de chaine
Acces à une BDD Ciel via ODBC .. ??test sur longueur d'un champ numérique / conversion
Plus de sujets relatifs à : Reclasser des couleurs en selon leur longueur d'onde (arc en ciel)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR