La vraie couleur (24 bits) sur Wikipedia est décrite dans la partie pertinente comme
24 bits utilise presque toujours 8 bits de chacun des R, G et B.Depuis 2018, la profondeur de couleur 24 bits est utilisée par pratiquement tous les écrans d'ordinateur et de téléphone et la grande majorité des formats de stockage d'images. Presque tous les cas où il y a 32 bits par pixel signifient que 24 sont utilisés pour la couleur, et les 8 restants sont le canal alpha ou inutilisés.
2 24 donne 16 777 216 variations de couleurs. L'œil humain peut distinguer jusqu'à dix millions de couleurs [10] et comme la gamme d'un écran est plus petite que la plage de vision humaine, cela signifie que cela devrait couvrir cette plage avec plus de détails que ce qui peut être perçu. ...
...
Les systèmes Macintosh désignent les couleurs 24 bits comme des «millions de couleurs». Le terme «True color» est parfois utilisé pour signifier ce que cet article appelle «couleur directe». [13] Il est également souvent utilisé pour désigner toutes les profondeurs de couleur supérieures ou égales à 24.
Toutes les 16,777,216 couleurs
Tâche
Écrire un programme qui génère et renvoie toutes les 16 777 216 variations de couleurs dans un tableau sous forme de chaînes dans la rgb()
fonction CSS
5.1. Les fonctions RVB:
rgb()
etrgba()
La
rgb()
fonction définit une couleur RVB en spécifiant directement les canaux rouge, vert et bleu. Sa syntaxe est:rgb() = rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) <alpha-value> = <number> | <percentage>
Les trois premiers arguments spécifient respectivement les canaux rouge, vert et bleu de la couleur.
0%
représente la valeur minimale pour ce canal de couleur dans la gamme sRGB et100%
représente la valeur maximale. A<number>
est équivalent à a<percentage>
, mais avec une plage différente:0
représente à nouveau la valeur minimale pour le canal de couleur, mais255
représente le maximum. Ces valeurs proviennent du fait que de nombreux moteurs graphiques stockent les canaux de couleur en interne comme un seul octet, qui peut contenir des entiers compris entre 0 et 255. Les implémentations doivent respecter la précision du canal tel qu'il est créé ou calculé dans la mesure du possible. Si cela n'est pas possible, le canal doit être arrondi à la valeur la plus proche avec la plus grande précision utilisée, arrondi si deux valeurs sont également proches.Le dernier argument, le
<alpha-value>
, spécifie l'alpha de la couleur. Si donné comme un<number>
, la plage utile de la valeur est0
(représentant une couleur entièrement transparente) à1
(représentant une couleur entièrement opaque). Si donné comme un,0%
représente une couleur entièrement transparente, tandis que100%
représente une couleur entièrement opaque. S'il est omis, il est par défaut100%
.Les valeurs en dehors de ces plages ne sont pas invalides, mais sont fixées aux plages définies ici au moment de la valeur calculée.
Pour des raisons héritées,
rgb()
prend également en charge une syntaxe alternative qui sépare tous ses arguments par des virgules:rgb() = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )
Également pour des raisons héritées, une
rgba()
fonction existe également, avec une grammaire et un comportement identiques àrgb()
.
ou #RRGGBB
format de notation hexadécimal RVB
5.2. Les notations hexadécimales RVB:
#RRGGBB
La notation de couleur hexadécimale CSS permet de spécifier une couleur en donnant aux canaux des nombres hexadécimaux, ce qui est similaire à la façon dont les couleurs sont souvent écrites directement dans le code informatique. C'est aussi plus court que d'écrire la même couleur en
rgb()
notation.La syntaxe de a
<hex-color>
est un<hash-token>
jeton dont la valeur se compose de 3, 4, 6 ou 8 chiffres hexadécimaux. En d'autres termes, une couleur hexadécimale est écrite sous la forme d'un caractère de hachage, "#", suivi d'un certain nombre de chiffres 0-9 ou de lettres af (la casse des lettres n'a pas d'importance -#00ff00
est identique à#00FF00
).Le nombre de chiffres hexadécimaux donné détermine comment décoder la notation hexadécimale en une couleur RVB:
6 chiffres
La première paire de chiffres, interprétée comme un nombre hexadécimal, spécifie le canal rouge de la couleur, où
00
représente la valeur minimale etff
(255 en décimal) représente le maximum. La paire de chiffres suivante, interprétée de la même manière, spécifie le canal vert et la dernière paire spécifie le bleu. Le canal alpha de la couleur est entièrement opaque.EXEMPLE 2
En d'autres termes,#00ff00
représente la même couleur quergb(0 255 0)
(un vert lime).
Voir le brouillon de l'éditeur du module de couleur CSS niveau 4
Exemples
rgb()
Fonction CSS ( le caractère espace peut être substitué au caractère virgule, par exemple rgb(0 255 0)
)
// `rgb()` `<percentage>` as strings in resulting array
['rgb(0%,0%,0%)', ...,'rgb(0%,255%,0)', ...'rgb(255,255,255)']
// `rgb()` `<number>` as strings in resulting array
['rgb(0,0,0)', ...,'rgb(0,255,0)', ...'rgb(255,255,255)']
Notation hexadécimale CSS RGB RRGGBB
// RGB hexadecimal notation as strings in resulting array
['#000000', ...,'#00ff00', ...'#ffffff']
Critères gagnants
Moindres octets utilisés pour écrire le programme.