par
Aureusms » 23 févr. 2009, 14:57
Bonjour,
A propos de cela : il y a un moyen logique de passer de rgb (255,0,0) à #FF0000.
Si tu prends l'exemple de
http://www.commentcamarche.net/contents/base/hexa.php3
Tu peux voir que FF correspond en base 10 à :
Fx16^1 + Fx16^0 =
15x16+15x1 =
240 + 15 =
255 pour le rouge
Dans tes quatre exemples :
#ff3333 - #ff6666 - #cc0000 -#cc3333
seront égales à
255,51,51 - 255,102,102 - 204,0,0 - 204,51,51
Si tu dis que les valeurs vert et blue t'éloigne de ton objectif quand elle sont grandes, tu vois que :
204,0,0 > 255,51,51> 204,51,51> 255,102,102.
Après à toi de créer ton algorithme pour vérifier si ta nuance est près ou éloignée d'un autre nuance. Utilises pour cela une pondération pour chaque couleur avec un système de balance (comme un système de centre de gravité). Pour t'imaginer le système : Tu as un triangle équilatérale à 255 cm de côté en équilibre en son centre. Si tu modifie un des côtes, le centre de gravité va changer vers l'un ou l'autre des angles.
Tu peux aussi imaginer en 3 dimensions avec 3 axes vectoriels.
Le plus simple est, dans ton cas, (à mon avis) d'ajouter les deux autres couleurs :
Pour 255,51,51 versus 204,51,51 :
255 - (51+51) versus 204 - (51+51)
153 versus 102
Dans cet exemple (non confirmé) 102 est plus éloigné de ta cible qui reste 255.
J'espère t'avoir aidé.
Un conseil créé une fonction pour passer de Hexadécimal à base 10. Je peux te filer un coup de main si tu veux.
Edit : vient de voir les autres post... pas assez rapide...