TColor
Le format TColor, utilisé dans la programmation Lazarus ou Delphi, est également basé sur le modèle de couleur RGB. Il traduit les trois valeurs RGB en une seule valeur, qui accepte la plage de 0 à 16777215. Cela distingue TColor de tous les autres modèles de couleurs présentés, qui sinon expriment tous les couleurs avec une combinaison de plusieurs chiffres (même si ces nombres sont rassemblés dans le cas de l'écriture hexadécimale de la notation RGB sous la forme #RRGGBB).
Conversion depuis ou vers le Modèle de Couleur RGB
Les valeurs RGB ont la relation suivante avec la valeur TColor:
TColor = R or (G shl 8) or (B shl 16)
La relation suivante s'applique lors de la conversion de la valeur TColor dans les composants R, G et B:
R = TColor and $FF
G = (TColor shr 8) and $FF
B = (TColor shr 16) and $FF
Les opérateurs "shl" (shift links, décalage à gauche), "shr" (shift right, décalage à droite), "and" et "or" sont des opérateurs au niveau du bit. Cela signifie qu’ils travaillent au niveau binaire (par exemple, 1101010 ou 1001) plutôt qu’au niveau numérique (par exemple, 2, 17 ou 345). Un décalage à gauche (shl) signifie un décalage des uns et des zéros de la valeur à gauche et un décalage à droite (shr) signifie un décalage des uns et des zéros de la valeur à droite. Le OR (ou) au niveau du bit est appliqué à deux chaînes de bits de même longueur en reliant des paires de même position à un OR logique (exemple: 1010 ou 1100 = 1110). Le AND (et) au niveau du bit est appliqué à deux séquences de bits d’égale longueur en liant des paires de même position à un AND logique. Voici le résultat est 1 si les deux bits sont à 1, sinon 0 (exemple: 1010 et 1100 = 1000).
Nombre de Couleurs représentables
Un maximum de 16777216 couleurs différentes peut être affiché avec une valeur TColor. Cela correspond à 8 bits par canal rouge, vert et bleu (0 à 255 chacun). Le nombre maximum de couleurs possibles est donc le même que dans la notation hexadécimale #RRGGBB, dans laquelle également un octet est utilisé pour chacun des trois canaux de couleur.
Dans le programme Pipette, la valeur TColor est affichée dans la dernière ligne ("TColor").