Aller au contenu

Les couleurs

Les cellules de notre œil sensibles à la couleur (les cônes) sont de trois sortes. Elles perçoivent (et communiquent au cerveau) les intensités de rouge, de vert ou de bleu émises par une lumière. Ainsi, le mélange de lumière rouge et verte donne à l’œil la même perception qu'une lumière jaune.

Sur un écran, chaque pixel est composé de trois sources de lumière (rouge, verte, bleue). En variant l’intensité de chacune d’elles, on affiche les couleurs.

Bien que plusieurs formats de codage coexistent, un pixel de couleur peut être naturellement représenté par un triplet (R, G, B)R, G et B sont trois entiers correspondant à l'intensité de ces couleurs (red, green, blue).

Le codage RGB

Le codage RGB des couleurs consiste à attribuer :

  • une composante de rouge ;

  • une composante de vert ;

  • et enfin une composante de bleu.

Sur un octet, ces composantes sont des entiers compris entre 0 et 255 (c'est à dire entre 0 et 2^8-1).

Couleurs primaires

Par synthèse additive des couleurs, on peut établir le tableau suivant :

Nom Noir Rouge Vert Bleu Jaune Magenta Cyan Blanc
Couleur
Code RGB (0, 0, 0) (255, 0, 0) (0, 255, 0) (0, 0, 255) (255, 255, 0) (255, 0, 255) (0, 255, 255) (255, 255, 255)

On peut également facilement parcourir les codages RGB en cliquant sur l'élément de formulaire suivant :

Firefox fait apparaître les deux autres codages usuels des couleurs lorsque vous choisissez une couleur dans cet élément de formulaire.

Le codage hexadécimal

Les couleurs au format RGB sont acceptées par la plupart des systèmes numériques.

Cependant, la représentation la plus utilisée (en particulier sur le web) est hexadécimale : #RRGGBB. Les deux premiers digits représentent l'intensité de rouge, les deux suivants l'intensité de vert et les deux derniers, l'intensité de bleu.

En actualisant le tableau précédent, cela donne :

Nom Noir Rouge Vert Bleu Jaune Magenta Cyan Blanc
Couleur
Code hexa #000000 #FF0000 #00FF00 #0000FF #FFFF00 #FF00FF #00FFFF #FFFFFF

Exemple

Justifier que le triplet RGB (52, 231, 17) correspond au nombre hexadécimal #34E711.

Une solution du codage hexadécimal vers RGB

Pour passer du codage hexadécimal au codage RGB, on regroupe les chiffres du codage hexadécimal par deux. Le groupe de deux lettres « xy » représente un entier en base 16. Il s'agit de le traduire en base 10. L'entier en base 10 correspondant est « 16x + y » :

  • 34 : 16 \times 3 + 4 = 52
  • E7 : 16 \times E + 7 = 16 \times 14 + 7 = 231
  • 11 : 16 \times 1 + 1 = 17

Le triplet RGB correspondant à #34E711 est bien (52, 231, 17).

Une solution du codage RGB vers hexadécimal

Pour passer du décimal à l'hexadécimal, on peut soit passer par l'algorithme des divisions successives, soit prendre la base 2 comme intermédiaire. On présente ce deuxième choix ici :

  • 52 = 32 + 16 + 4 = (0011 \, 0100)_{2} = (34)_{16}
  • 231 = 128 + 64 + 32 + 4 + 2 + 1 = (1110 \, 0111)_{2} = (E7)_{16}
  • 17 = 16 + 1 = (0001 \, 0001)_{2} = (11)_{16}

Le code hexadécimal correspondant au triplet RGB (52, 231, 17) est bien #34E711.

Sélecteurs de couleur

Il existe des logiciels permettant de sélectionner et d'analyser la couleur du pixel de l'écran situé sous le pointeur de la souris.

  1. Sous Linux, on peut citer le logiciel Gpick.
  2. Sous Windows, on peut citer Just Color Picker :
    En utilisant le raccourci clavier [Alt]+[X], on peut mettre en mémoire la couleur avant d'en rechercher une autre. Vous pouvez vérifier la correspondance entre le format RGB (triplet d'entiers) et le format hexadécimal #RRGGBB.