Constantes pour la gestion des couleurs

Définition Utilisation Exemple Côté technique
 

#define MAX_RED 31
#define MAX_GREEN 63
#define MAX_BLUE 31
#define MAX_GREY 31
#define RANDOM_RED (random(27)+5)
#define RANDOM_GREEN (random(54)+10)
#define RANDOM_BLUE (random(27)+5)
#define RANDOM_GREY (random(27)+5)

 

Ces constantes permettent d'éviter d'utiliser les nombres 31 ou 63. Elles permettent aussi une compatibilité si on passe en mode 18 bits. Elles rendent plus clair les écritures de programmes. Par exemple si on voit RGBcolor(31,0,0), c'est moins parlant que RGBcolor(MAX_RED,0,0). Bien entendu il faut écrire correctement car RGBcolor(MAX_BLUE,0,0) c'est du rouge!

Les pseudos constantes RANDOM_??? ne sont pas du tout des constantes, mais ce sont des fonctions. L'intérêt de ces "constantes" est qu'elles ne retournent plus de couleurs vives que de noirs. On peut utiliser random(MAX_RED+1) au lieu de RANDOM_RED, mais on aura beaucoup de couleurs très sombres. C'est peu esthétique.

Attention: Toutes ces constantes sont faites pour être utilisées dans l'appel à la fonction RGBcolor().

#define RANDOM_COLOR (RGBcolor(random(27)+5, random(54)+10, random(27)+5))

La pseudo constante RANDOM_COLOR n'est pas non plus une constante, mais une fonction. On peut utiliser random(MAX_RED+1, MAX_GREEN+1, MAX_BLUE+1) au lieu de RANDOM_COLOR si l'on veut vraiment une couleur au hasard, mais on aura beaucoup de couleurs très sombres.

Attention: Ne pas utiliser RANDOM_COLOR dans la fonction RGBcolor().

 

Voir aussi:
- RGBcolor(); Transforme un triplet RGB en un code couleur
- getColor(); Retourne la couleur par défaut pour les dessins
- setTextColor(); Couleur du texte
- BLACK, WHITE, ...: Constantes couleurs
- point(); Dessine un point
- line(); Trace une ligne
- rect(); Trace les bords d'un cadre
- fillRect(); Trace une boîte pleine
- circle(); Trace un cercle
- text(); Écrit du texte