El color verdadero (24 bits) en Wikipedia se describe en la parte pertinente como
24 bits casi siempre usa 8 bits de cada uno de R, G, B. A partir de 2018, la profundidad de color de 24 bits es utilizada por prácticamente todas las computadoras y pantallas de teléfonos y la gran mayoría de los formatos de almacenamiento de imágenes. Casi todos los casos en los que hay 32 bits por píxel significa que se usan 24 para el color, y los 8 restantes son el canal alfa o no se usan.
2 24 da 16,777,216 variaciones de color. El ojo humano puede discriminar hasta diez millones de colores [10] y dado que la gama de una pantalla es más pequeña que el rango de la visión humana, esto significa que debe cubrir ese rango con más detalles de los que se pueden percibir. ...
...
Los sistemas Macintosh se refieren al color de 24 bits como "millones de colores". El término "color verdadero" se usa en ocasiones para referirse a lo que este artículo llama "color directo". [13] También se usa a menudo para referirse a todas las profundidades de color mayores o iguales a 24.
Todos los 16.777.216 colores
Tarea
Escriba un programa que genere y devuelva las 16.777.216 variaciones de color dentro de una matriz como cadenas en la rgb()
función CSS
5.1. Las funciones RGB:
rgb()
yrgba()
La
rgb()
función define un color RGB especificando los canales rojo, verde y azul directamente. Su sintaxis es:rgb() = rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) <alpha-value> = <number> | <percentage>
Los primeros tres argumentos especifican los canales rojo, verde y azul del color, respectivamente.
0%
representa el valor mínimo para ese canal de color en la gama sRGB y100%
representa el valor máximo. A<number>
es equivalente a a<percentage>
, pero con un rango diferente:0
nuevamente representa el valor mínimo para el canal de color, pero255
representa el maximo. Estos valores provienen del hecho de que muchos motores gráficos almacenan los canales de color internamente como un solo byte, que puede contener enteros entre 0 y 255. Las implementaciones deben respetar la precisión del canal según lo creado o calculado siempre que sea posible. Si esto no es posible, el canal debe redondearse al valor más cercano con la mayor precisión utilizada, redondeando hacia arriba si dos valores están igualmente cerca.El argumento final, el
<alpha-value>
, especifica el alfa del color. Si se da como a<number>
, el rango útil del valor es0
(que representa un color totalmente transparente) a1
(que representa un color totalmente opaco). Si se da como a,0%
representa un color totalmente transparente, mientras que100%
representa un color completamente opaco. Si se omite, su valor predeterminado es100%
.Los valores fuera de estos rangos no son inválidos, pero están sujetos a los rangos definidos aquí en el tiempo de valor calculado.
Por razones heredadas,
rgb()
también admite una sintaxis alternativa que separa todos sus argumentos con comas:rgb() = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )
También por razones heredadas,
rgba()
también existe una función, con una gramática y comportamiento idénticosrgb()
.
o #RRGGBB
formato de notación hexadecimal RGB
5.2. Las notaciones hexadecimales RGB:
#RRGGBB
La notación de color hexadecimal CSS permite especificar un color al dar a los canales como números hexadecimales, que es similar a cómo los colores a menudo se escriben directamente en el código de la computadora. También es más corto que escribir el mismo color en
rgb()
notación.La sintaxis de a
<hex-color>
es un<hash-token>
token cuyo valor consta de 3, 4, 6 u 8 dígitos hexadecimales. En otras palabras, un color hexadecimal se escribe como un carácter hash, "#", seguido de cierto número de dígitos 0-9 o letras af (el caso de las letras no importa,#00ff00
es idéntico a#00FF00
).El número de dígitos hexadecimales determinado determina cómo decodificar la notación hexadecimal en un color RGB:
6 dígitos
El primer par de dígitos, interpretado como un número hexadecimal, especifica el canal rojo del color, donde
00
representa el valor mínimo yff
(255 en decimal) representa el máximo. El siguiente par de dígitos, interpretado de la misma manera, especifica el canal verde, y el último par especifica el azul. El canal alfa del color es completamente opaco.EJEMPLO 2
En otras palabras,#00ff00
representa el mismo color quergb(0 255 0)
(un verde lima).
Vea el borrador del editor del módulo de color CSS Nivel 4
Ejemplos
rgb()
Función CSS (el carácter de espacio se puede sustituir por el carácter de coma, por ejemplo, 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)']
Notación hexadecimal CSS RGB RRGGBB
// RGB hexadecimal notation as strings in resulting array
['#000000', ...,'#00ff00', ...'#ffffff']
Criterios ganadores
Menos bytes utilizados para escribir el programa.