Tri des couleurs hexa

WRInaute impliqué
Salut
J'ai une liste d'une 50aine de codes hexa (ex:ff0000;bf885F;ffff58; etc...)
je dois en faire un nuancier trié pour pas qu'on ai l'impression d'avoir mis les couleurs n'importe comment dans le nuancier.
Par ordre alphabétique, ça ne marche pas.

Quelqu'un sait comment je peux les trier, quelle est la méthode pour faire e genre de choses?
avec un algo, un script, un petit soft ou avec n'importe quoi.

Merci

Edit: voila ce que cela donne:
Code:
<head>
	<style>
		.couleur{
			float:left;
			width:15px;
			height:15px;
		}
	</style>
<script>
	var couleurs="000000,000063,000066,000080,0033CC,009999,103857,16517D,1689B5,216996,";
	couleurs +="222222,237CC2,333333,333399,48719E,4C4C4C,4E8EBF,545454,636373,663399,666666,";
	couleurs +="6666FF,7F9DB9,808080,80A6BD,97B1D0,990000,999999,9999CC,99CC00,AC9D73,AEA17D,";
	couleurs +="B3B4B4,C31E1E,C6BB5C,CCCCCC,CCCCFF,DD1122,E0E9F4,E1DBCD,E6E1D5,E8E8E8,EAEFF6,";
	couleurs +="EEEBE3,F4F1DE,F7F7F7,F8F6EB,FF0000,FF9900,FFB849,FFFFCC,FFFFFF";
	function ecrireTableau(){
		var tabCoul = couleurs.split(",");
		var tableau="";
		for(var i = 0; i<tabCoul.length;i++){
			tableau +="<div class='couleur'  style='background-color:#"+tabCoul[i]+"'></div>";
		}
		document.getElementById("tableau").innerHTML=tableau;
	}
	window.onload = ecrireTableau;
</script>
</head>
<body>
<div id="tableau">
</div>
</body>
Comment dois-je ordonner le tableau de couleurs?
 
WRInaute impliqué
Bah non...
Voila ce que donne le script que j'ai donnée au dessus:
nuancier6xo.jpg

C'est pas franchement trié.... :?
 
WRInaute passionné
Faut que tu fasse un truc en respectant l'ordre hexa en fait, du genre :
000022 - 000066 - 002200.

Vu que ce sont des valeurs hexadécimal tu dois avoir moyen de les trier, mais comment... En PHP y'a des fonctions dispo sur le web pour faire un nuancier sous forme de dégradé, mais en js je ne sais pas...
 
WRInaute impliqué
Le problème, ce n'est pas de faire un nuancier à partir de zéro, c'est de trier des codes donnés.
Si quelqu'un sait faire ça (dans n'importe quelle techno (php, java ou autres), je suis preneur.
Les codes hexa sont triés par ordre alpha dans le code que j'ai donné... :cry:
 
WRInaute impliqué
c'est normal je pense car tu compares des chaînes de caractères entre elles; as-tu essayé en convertissant d'abord tes chaînes hexa en entiers:
en php ça donnerait ceci:

$a=array(tes codes en hexa,...)
foreach ($a as $v) {$b[]=hexdec($v);}
sort($b);
$a=array();
foreach ($b as $v) {$a[]=dechex($v);}

tu devrais avoir ton tableau $a dans l'ordre croissant.

à voir: http://fr.php.net/hexdec
 
WRInaute discret
Le tri des couleurs se fait normalement en teinte-saturation-luminance (TLS ou HSL en anglais) et non en RGB. Tu peut regarder de ce coté.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut