Txcolor, unité extendcolor, specialisation dans le traitements des couleurs


Description

Comment on recupere le rouge sur un TColor ?
Comment on remet du bleu dans un TColor ?
Comment on convertis les couleurs delphi en RGB ?
Comment on passe des couleurs exprimée en byte en single pour openGL et inversement ?
Comment ne pas perdre de temps a tout recoder a chaque fois ?
Comment avoir les valeur HLS (teinte luminosité saturation) ?
Comment avoir la couleur en negatif ?
comment traiter les pixels d'une image bitmap rapidement ?

Tout simplement en jettant un oeuil sur ExtendColor ! (je fais bien ma pub hein ?)
    • Qu'est ce que c'est encore que ce truc que je vous pond ?


La reponse est simple, une unité et une classe qui vous donne tout ce que vous voulez savoir a propos des TColor.
Finit les fonctions GetRValue, RGBToColor etc...
TXColor le feras a votre place (sans utiliser ses fonctions d'ailleur).
    • WOA! KEWL! KOMENKONFAIDONK ?


Ne parle pas en SMS petit scarabé, je vais t'expliquer :

(chanson de motivance)
Tatimi tonti casque ?
Tatimi tonti masque ?
Tati tonti couteau ?
Pour couper les ti morceaux!
(fin de la chanson ... clap clap ... merci Francois Perusse)

Crée une variable dans ton programme de type TXColor.
Var XCol : TXColor;

Utilise l'une des methode rapide de creation dans l'initialisation de ton programme pour créer l'objet :
XCol := TXColor.Create([parametres]);

Une fois cela fait, place tout de suite la destruction de l'objet dans Close ou la Finalisation du programme :
XCol.Free; (tout simplement)

La je vais maintenant te montrer comment c'est facile de l'utiliser :
Assigne une couleur (de n'importe quel type) a la propriété adequate de l'objet ExtendColor.
par exemple :
XCol.BGR := clBLue;

STOP! plus besoin de faire quoique ce soit!
Interroge desormais n'importe qu'elle propriété pour avoir les infos qui t'interresse.
par exemple :
label1.caption := format('Valeur RGB de clBlue : %.6x',[XCol.RGB]);

Tu veux autre chose ? le rouge ? le bleu ?
XCol.Red, XCol.Green, XCol.Blue ... te les donnerons.

Tu veux definir directement une couleur RGB avec trois valeur Byte ?
XCol.SetColor(R,G,B);

Tu veux stocker la valeur de l'Alpha en meme temps ?
XCol.SetColor(R,G,B,A);

pouf ... c'est magique ... (pas tant que ça en fait mais je suis en plein trip explicatif, Delphi c'est un opiacé)

Tu utilise OpenGL ? tu veux mettre ne single tes couleur BGR ?
XCol.BGR := clBLue;
Cube.Color.Red := XCol.GLRed;
Cube.Color.Green := XCol.GLGreen;
Cube.Color.Blue := XCol.GLBlue;

et encore pleins d'autres methodes a decouvrir!

Oui je sais petit scarabé, c'est WOoachement very good de la balle qui tue...

<!> Voir le Zip pour la source <!>

Source / Exemple :


{ vus comment le projet a evoluer, je prefere vous laisser regarder le Zip }

Conclusion :


Bug possible :
dans la procedure Operate, les resultat peuvent etre different par rapport a d'autres methodes "standards"
________________________________________________________________________________

Niveau programmation : initié
Niveau utilisation : tous

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.