Le codage d'un pixel peut se faire sur 32 bits, dont 24 bits sont utilisés pour coder la couleur, les 8 bits restants étant :
Il est également possible d'utiliser une palette de 256 couleurs, auquel cas la couleur du pixel est codée sur 8 bits.
Sur les vieux écrans qui n'avaient que 8 bits de couleur par pixel, une palette était utilisée. Cette palette n'était pas universelle, chaque constructeur étant libre de définir cette palette à sa guise. Il existait toutefois un certain consensus lié à l'existence d'une sorte de standard HTML qui stipule qu'une certaine palette dite "palette web" (en anglais "safe-web palette" ou "safety palette") devait être privilégiée : dans les faits, la quasi totalité des navigateurs internet respectait cette palette, qui comporte 216 couleurs dont les trois composantes RVB (voir ci-dessous) sont l'un des 6 multiples de 51 suivants : 0, 51, 102, 153, 204 ou 255. Remarquer que :
Dans la suite de l'article, nous ne nous intéresserons qu'aux 24 bits de codage des couleurs. Les explications données correspondront donc non seulement à la représentation des couleurs sur 32 bits mais aussi à celle sur 24 bits.
Les 24 bits d'une couleur se décomposent en 3 fois 8 bits :
Une séquence de 8 bits permet de coder un nombre entier compris entre 0 et Vmax = 255 : en effet, 28 vaut 256. Par conséquent, la valeur de la composante rouge d'un pixel peut être représentée selon 256 niveaux différents (allant du 0, absence de rouge, à 255, rouge d'intensité maximum). Et il en est de même pour les 2 autres composantes primaires, le vert et le bleu.
Donnons un exemple :
111110111101000010010111.
Or il existe deux grandes familles de représentation des couleurs, telles qu'elles peuvent apparaître dans une image présentée sur un écran d'ordinateur : le codage RVB (ou RGB en anglais), dont les principes viennent d'être décrits, et le codage TSL (ou HSL en anglais).
Voyons donc à présent quelles sont les valeurs des 3 composantes du codage TSL de la couleur choisie précédemment, exprimées (comme c'est assez souvent le cas) selon une échelle allant de 0 à 240 :
Ici, on se rapportera utilement aux explications fournies dans l'article Teinte saturation lumière, dans lequel d'autres valeurs maximales sont choisies pour la teinte (de 0 à 360 °), la saturation (de 0 à 100 ) et la luminance (de 0 à 100 %).
Le codage RVB est celui qui est mis en œuvre dans de nombreux périphériques numériques : en entrée (scanner-couleurs, appareil photo numérique, caméscope…) comme en sortie (écran en couleurs, imprimante, quadrichromie, photocopieuse-couleurs…).
Le codage TSL, destiné aux opérateurs humains, est adapté à la caractéristique de leurs rétines : une personne entraînée peut d'ailleurs donner avec une approximation satisfaisante les valeurs TSL d'une couleur qu'on lui présente (la plus difficile à retrouver étant réputée être le marron); elle peut aussi, même si elle est novice, trouver assez rapidement, en s'aidant par exemple des outils de Sélection de couleur offerts dans de nombreux logiciels de dessin ou de retouche, les composantes TSL d'une couleur qu'elle n'a pas sous les yeux mais qu'elle imagine ; enfin, le langage TSL de définition des couleurs permet de définir facilement certains des dégradés de teinte que la représentation RVB ne permet pas de définir aussi facilement. En revanche, la très grande majorité des langages de développement exige d'utiliser le codage RVB pour la définition de la couleur d'un tracé, d'un fond de fenêtre, d'un texte, etc. ; c'est pourquoi il peut être utile de disposer de permettant de passer d'un codage TSL à un codage RVB, et réciproquement.
La notion de couleur est parfois généralisée en ajoutant un indice de transparence appelé Alpha. Voir RGBA.
Avant de présenter ces moyens, nous allons d'abord présenter et commenter un , ainsi que des exemples de entre 2 teintes.