Colormanager as3

Description

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

Source / Exemple :


// Exemple d'utilisation :

// Importer la classe

import com.m.ColorManager;

// Générer une couleur aléatoire

var myRandomColor:Number = ColorManager.getRandomColor();

// Récupérer les valeurs RVB de cette couleur (sous la forme d'un objet)

var myRandomRGB:Object = ColorManager.getRGBFromHex( myRandomColor );

// Afficher chaque valeur

trace( "R: " + myRandomRGB.r + ", G: " + myRandomRGB.g + ", B: " + myRandomRGB.b );

Conclusion :


Si vous trouvez des erreurs dans ce code,
si vous pensez à quelque chose d'utile à rajouter,
si vous faites vous-même des modifications que vous voulez partager,
contactez-moi !

Par exemple, toutes les fonctions sont en "public static" afin d'être utilisées sans créer d'instance du ColorManager, même la fonction "getColorValueFromPQH", qui est une sous-fonction de "getRGBfromHSL" et qui n'est pas destinée à être appelée de l'extérieur...
Y'a t'il un moyen de la rendre privée ? Pour l'instant je bloque là-dessus.

Codes Sources

A voir également