Il vero colore (24 bit) su Wikipedia è descritto nella parte pertinente come
24 bit utilizza quasi sempre 8 bit di ciascuno di R, G, B. A partire dal 2018 la profondità di colore a 24 bit viene utilizzata praticamente da tutti i display di computer e telefoni e dalla stragrande maggioranza dei formati di archiviazione delle immagini. Quasi tutti i casi in cui sono presenti 32 bit per pixel indicano che 24 sono utilizzati per il colore e gli altri 8 sono il canale alfa o non utilizzati.
2 24 offre 16.777.216 variazioni di colore. L'occhio umano può discriminare fino a dieci milioni di colori [10] e poiché la gamma di un display è più piccola della gamma della visione umana, ciò significa che questo dovrebbe coprire quella gamma con più dettagli di quanto si possa percepire. ...
...
I sistemi Macintosh si riferiscono al colore a 24 bit come "milioni di colori". Il termine "True color" viene talvolta utilizzato per indicare ciò che questo articolo chiama "Direct color". [13] Inoltre è spesso usato per riferirsi a tutte le profondità di colore maggiori o uguali a 24.
Tutti i 16.777.216 colori
Compito
Scrivi un programma che genera e restituisce tutte le 16.777.216 variazioni di colore all'interno di un array come stringhe nella rgb()
funzione CSS
5.1. Le funzioni RGB:
rgb()
ergba()
La
rgb()
funzione definisce un colore RGB specificando direttamente i canali rosso, verde e blu. La sua sintassi è:rgb() = rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) <alpha-value> = <number> | <percentage>
I primi tre argomenti specificano rispettivamente i canali rosso, verde e blu del colore.
0%
rappresenta il valore minimo per quel canale di colore nella gamma sRGB e100%
rappresenta il valore massimo. A<number>
equivale a<percentage>
, ma con un intervallo diverso:0
rappresenta nuovamente il valore minimo per il canale di colore, ma255
rappresenta il massimo. Questi valori derivano dal fatto che molti motori grafici memorizzano i canali di colore internamente come un singolo byte, che può contenere numeri interi compresi tra 0 e 255. Le implementazioni dovrebbero rispettare la precisione del canale come creata o calcolata ove possibile. Se ciò non è possibile, il canale deve essere arrotondato al valore più vicino con la massima precisione utilizzata, arrotondando per eccesso se due valori sono ugualmente vicini.L'argomento finale, il
<alpha-value>
, specifica l'alfa del colore. Se indicato come a<number>
, l'intervallo utile del valore è0
(che rappresenta un colore completamente trasparente) a1
(che rappresenta un colore completamente opaco). Se indicato come a,0%
rappresenta un colore completamente trasparente, mentre100%
rappresenta un colore completamente opaco. Se omesso, il valore predefinito è100%
.I valori al di fuori di questi intervalli non sono validi, ma vengono bloccati agli intervalli qui definiti al momento del valore calcolato.
Per motivi legacy,
rgb()
supporta anche una sintassi alternativa che separa tutti i suoi argomenti con virgole:rgb() = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )
Anche per motivi legacy,
rgba()
esiste anche una funzione, con grammatica e comportamento identici argb()
.
o #RRGGBB
formato di notazione esadecimale RGB
5.2. Notazioni esadecimali RGB:
#RRGGBB
La notazione del colore esadecimale CSS consente di specificare un colore fornendo i canali come numeri esadecimali, il che è simile al modo in cui i colori vengono spesso scritti direttamente nel codice del computer. È anche più breve della scrittura dello stesso colore in
rgb()
notazione.La sintassi di a
<hex-color>
è un<hash-token>
token il cui valore è composto da 3, 4, 6 o 8 cifre esadecimali. In altre parole, un colore esadecimale è scritto come un carattere hash, "#", seguito da un numero di cifre 0-9 o lettere af (il caso delle lettere non ha importanza -#00ff00
è identico a#00FF00
).Il numero di cifre esadecimali fornite determina come decodificare la notazione esadecimale in un colore RGB:
6 cifre
La prima coppia di cifre, interpretata come un numero esadecimale, specifica il canale rosso del colore, dove
00
rappresenta il valore minimo eff
(255 in decimale) rappresenta il massimo. La prossima coppia di cifre, interpretata nello stesso modo, specifica il canale verde e l'ultima coppia specifica il blu. Il canale alfa del colore è completamente opaco.ESEMPIO 2
In altre parole,#00ff00
rappresenta lo stesso colore dirgb(0 255 0)
(un verde lime).
Vedi Redazione del modulo CSS Color Editor Livello 4
Esempi
rgb()
Funzione CSS (il carattere spazio può essere sostituito da un carattere virgola, ad es. 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)']
Notazione esadecimale CSS RGB RRGGBB
// RGB hexadecimal notation as strings in resulting array
['#000000', ...,'#00ff00', ...'#ffffff']
Criteri vincenti
Minimi byte utilizzati per scrivere il programma.