Je partage cette classe que j'ai créée pour m'aider dans des projets nécessitant de travailler avec différents formats de couleur (RVB, hexadecimal, TSL).
Pour l'instant, le ColorManager permet de :
- convertir du RVB en hexadécimal (Number ou String) et vice versa
- convertir du ARVB en hexadécimal (Number ou String) et vice versa
- convertir du RVB en TSL (Teinte, Saturation, Luminosité) et vice versa
(ce qui permet bien sur de convertir aussi de l'hexadécimal en TSL, et vice versa)
- désaturer une couleur
- générer une couleur aléatoire
Il y assez peu de commentaires dans mon code, pour la simple raison que la plupart des fonctions sont des applications de formules mathématiques, il n'y a donc pas de logique particulière, ce ne sont que des calculs.
Vous retrouverez ces formules ainsi que beaucoup d'autres sur cette page qui m'a bien dépanné :
http://www.easyrgb.com/index.php?X=MATH