RGBA()

Syntaxe

Resultat = RGBA(Rouge, Vert, Bleu, Alpha)
Description
Renvoie la valeur de la couleur 32 bits correspondant aux valeurs Rouge, Verte, Bleue et Alpha.

Arguments

Rouge, Vert, Bleu La valeur des composantes rouge, verte et bleue de la couleur.

Chaque valeur doit être comprise entre 0 et 255.
Alpha La composante alpha (transparence) de la couleur.

La valeur doit être comprise entre 0 et 255.

Une valeur de 0 signifie une transparence complète et une valeur de 255 signifie une opacité totale.

Valeur de retour

Renvoie la valeur de la couleur.

Remarques

Resultat varie de 0 à 4 294 967 295 teintes. Il est donc conseillé d'utiliser un 'quad', (Resultat.q) et de mettre à zéro les octets inutilisés. En effet, sur un système d'exploitation 32 Bits, Resultat est un integer de type Long (par défaut) dont la plage d'utilisation va de - 2 147 483 648 à + 2 147 483 647, alors comparer deux couleurs est hasardeux.

Utiliser les commandes suivantes Red(), Green(), Blue() et Alpha() pour extraire la valeur d'une des composantes 'Rouge', 'Verte', 'Bleue' ou 'Alpha'.

Un tableau représentant les couleurs les plus communes est disponible ici. Ces fonctions sont utiles lors des opérations de dessin 2D.

Exemple

  Couleur.q = RGBA(255, 255, 255, 255) ; Blanc totalement opaque
  Debug LSet(Hex(Couleur, #PB_Quad), 16, "0")
  Couleur = Couleur  & $FFFFFFFF  ; mise à zéro des octets inutilisés, 
                                  ; utile pour la comparaison de couleur
  Debug LSet(Hex(Couleur, #PB_Quad), 16, "0")

Exemple

  Debug RGBA(0, 0, 0, 0)     ; Noir totalement transparent 
  Debug RGBA(0, 0, 0, 128)   ; Noir à moitié transparent
  Debug RGBA(0, 0, 0, 255)   ; Noir totalement opaque
  Debug RGBA(255, 0, 0, 255) ; Rouge totalement opaque
  Debug RGBA(0, 0, 255, 0)   ; Bleu totalement transparent
  Debug RGBA(255, 255, 255, 255) ; Blanc totalement opaque
  Debug HEX(RGBA(255, 255, 255, 255)) ; Affiche FFFFFFFFFFFFFFFF

Exemple: Couleur 24 bits vers couleur 32 bits

  Alpha = 255 ; de 0 à 255,  255 = aucune transparence (Opacité = 100 %)
  
  ; Pour les couleurs, il est conseillé d'utiliser des variables de type Quad (Voir remarques)
  Couleur24.q  = ColorRequester()
  
  Couleur32.q = RGBA(Red(Couleur24), Green(Couleur24), Blue(Couleur24), alpha) 
  Couleur32 = Couleur32 & $FFFFFFFF ; Mise à zéro des octets inutilisés

  ; Il est aussi possible de remplacer les deux lignes ci-dessus par:
  ; Couleur32 = Couleur24 | Alpha << 24
  
  Debug "Rouge " + Red(Couleur32)
  Debug "Vert  " + Green(Couleur32)
  Debug "Bleu  " + Blue(Couleur32)
  Debug "Opacité " + Alpha(Couleur32)

Voir aussi

Red(), Green(), Blue(), Alpha(), RGB()

OS Supportés

Tous

<- RGB() - 2DDrawing Index - Red() ->