A cor verdadeira (24 bits) na Wikipedia é descrita em parte pertinente como
24 bits quase sempre usa 8 bits de R, G, B. A partir de 2018, a profundidade de cores de 24 bits é usada por praticamente todos os monitores de computadores e telefones e pela grande maioria dos formatos de armazenamento de imagens. Quase todos os casos em que existem 32 bits por pixel significam que 24 são usados para a cor e os 8 restantes são o canal alfa ou não utilizados.
2 24 fornece 16.777.216 variações de cores. O olho humano pode discriminar até dez milhões de cores [10] e, como a gama de uma tela é menor que o alcance da visão humana, isso significa que isso deve cobrir esse alcance com mais detalhes do que se pode perceber. ...
...
Os sistemas Macintosh referem-se às cores de 24 bits como "milhões de cores". O termo "cor verdadeira" é usado em algum momento para significar o que este artigo chama de "cor direta". [13] Também é frequentemente usado para se referir a todas as profundidades de cor iguais ou superiores a 24.
Todas as 16.777.216 cores
Tarefa
Escreva um programa que gere e retorne todas as 16.777.216 variações de cores em uma matriz como seqüências de caracteres na rgb()função CSS
5.1 As funções RGB:
rgb()ergba()A
rgb()função define uma cor RGB especificando diretamente os canais vermelho, verde e azul. Sua sintaxe é:rgb() = rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) <alpha-value> = <number> | <percentage>Os três primeiros argumentos especificam os canais vermelho, verde e azul da cor, respectivamente.
0%representa o valor mínimo para esse canal de cores na gama sRGB e100%representa o valor máximo. A<number>é equivalente a<percentage>, mas com um intervalo diferente:0novamente representa o valor mínimo para o canal de cores, mas255representa o máximo. Esses valores vêm do fato de que muitos mecanismos gráficos armazenam os canais de cores internamente como um byte único, que pode conter números inteiros entre 0 e 255. As implementações devem respeitar a precisão do canal como criada ou calculada sempre que possível. Se isso não for possível, o canal deve ser arredondado para o valor mais próximo com a maior precisão usada, arredondando para cima se dois valores estiverem igualmente próximos.O argumento final, the
<alpha-value>, especifica o alfa da cor. Se fornecido como a<number>, o intervalo útil do valor é0(representando uma cor totalmente transparente) a1(representando uma cor totalmente opaca). Se dado como a,0%representa uma cor totalmente transparente, enquanto100%representa uma cor totalmente opaca. Se omitido, o padrão é100%.Os valores fora desses intervalos não são inválidos, mas são fixados nos intervalos definidos aqui no momento do valor calculado.
Por motivos legados,
rgb()também suporta uma sintaxe alternativa que separa todos os seus argumentos com vírgulas:rgb() = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )Também por motivos legados,
rgba()também existe uma função, com uma gramática e um comportamento idênticosrgb().
ou #RRGGBBformato de notação hexadecimal RGB
5.2 As notações hexadecimais RGB:
#RRGGBBA notação de cor hexadecimal CSS permite que uma cor seja especificada, fornecendo os canais como números hexadecimais, que é semelhante à maneira como as cores geralmente são escritas diretamente no código do computador. Também é mais curto do que escrever a mesma cor na
rgb()notação.A sintaxe de a
<hex-color>é um<hash-token>token cujo valor consiste em 3, 4, 6 ou 8 dígitos hexadecimais. Em outras palavras, uma cor hexadecimal é escrita como um caractere de hash, "#", seguido por um número de dígitos de 0 a 9 ou letras af (o caso das letras não importa -#00ff00é idêntico a#00FF00).O número de dígitos hexadecimais fornecidos determina como decodificar a notação hexadecimal em uma cor RGB:
6 dígitos
O primeiro par de dígitos, interpretado como um número hexadecimal, especifica o canal vermelho da cor, onde
00representa o valor mínimo eff(255 em decimal) representa o máximo. O próximo par de dígitos, interpretado da mesma maneira, especifica o canal verde e o último par especifica o azul. O canal alfa da cor é totalmente opaco.EXEMPLO 2
Por outras palavras,#00ff00representa a mesma cor quergb(0 255 0)(um verde limão).
Consulte o rascunho do editor do módulo de cores CSS, nível 4
Exemplos
rgb()Função CSS (o caractere de espaço pode ser substituído por vírgula, por exemplo, 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)']
Notação hexadecimal CSS RGB RRGGBB
// RGB hexadecimal notation as strings in resulting array
['#000000', ...,'#00ff00', ...'#ffffff']
Critérios de vitória
Menos bytes usados para escrever o programa.