Tonalità / sat / lum offre una gamma di colori più piccola rispetto a RGB?


8

Tutti i valori di RGB dovrebbero essere unici e distinguibili, il che significa che ci sono davvero 256 * 256 * 256 colori.

In HSL, tuttavia, se L = 0 allora H e S possono essere qualsiasi cosa, ma ottieni comunque lo stesso colore (nero). Allo stesso modo, se S = 0 allora H non ha importanza, dato che otterrai una sfumatura di grigio puro. Quindi sembra che il modello HSL offra al massimo 256 * 256 * 256 - 256 * 256 - 256 colori, o ~ 0,4% in meno di colori. È vero?


Le gamme possono essere diverse (non lo so), ma HSL e HSV sono state sviluppate come trasformazioni polari di RGB. Tuttavia, i tuoi pensieri su "S = 0, H non importa" mi sembrano sbagliati in un modo che non posso articolare. S = 0 è un altro modo di dire R = G = B. L = 0 diventa (R = G = B = 0) e L = 1 (100%) = (R = G = B = 1). Sono curioso di sapere la risposta.
horatio,

@horatio Ad esempio, quando R = G = B = 128, H = 0, S = 0, L = 50, quando R = G = B = 255, H = 0, S = 0, L = 100 ...
Giovanni

Questo è praticamente quello che ho detto nel mio commento. Le due risposte confermano la mia affermazione sul fatto che si tratta di un isomorfismo dello spazio colore RGB con limitazioni sulla "selezionabilità" imposte dalle gamme di numeri interi imposte dalla maggior parte dei software.
horatio,

Risposte:


10

Sì e no.

Sì:

Offre una gamma più piccola di colori supponendo che siano richiesti numeri interi per ciascun valore . Photoshop, ad esempio, richiede che i valori di HSB siano interi e ti grideranno se provi diversamente:

Errore nel selettore colore di Photoshop

Tuttavia, la tua matematica sembra essere fuori. Sei sulla buona strada con RGB: ogni valore può essere un numero intero compreso tra 0 e 255, quindi la gamma RGB è composta da 256³ o 16.581.375 colori.

Per HSL, i vincoli di valore sono diversi. H può essere 0-359, S può essere 0-100 e B può essere 0-100. Quindi il numero di terzine HSL uniche è 360 * 101 * 101 o 3.672.360. Questo non tiene ancora conto dei colori duplicati e siamo già significativamente più piccoli di RGB.

Non sono abbastanza bravo nelle statistiche per calcolare il numero di valori univoci per HSL basato su numeri interi, quindi non ci proverò nemmeno

Di conseguenza, ci sarà una collisione di colore. Puoi provarlo tu stesso controllando il valore di due valori RGB molto vicini. Ad esempio, #00AAAAe #00AAABvengono entrambi convertiti in Photoshop a 180 °, 100%, 67%:

Confronto del selettore di colori di Photoshop

No:

Illustrator è un po 'più rilassato. È felice e disposto ad accettare valori decimali per HSB:

Selettore colore di Illustrator

CSS3 accetta anche valori decimali per hsl()e hsla(). Questa implementazione rende molto più granulare di RGB, che non dovrebbe mai accettare valori decimali.


Molto ben messo, grazie. Non mi ero reso conto che le gamme fossero diverse.
1279343,

3

HSL (tonalità, saturazione, luminosità ) e HSB sono modelli di colore derivati ​​del modello di colore RGB. Coprono la stessa gamma (come nella gamma) di colori con una quantità minore di punti "distintivi" nel mezzo.

Il modello RGB definisce 256 ^ 3 o 16.777.216 punti
e HSL / HSB definiscono 360 * 101 * 101 o 3.672.360 punti.

Dovresti scoprire a livello di codice quanti punti dalla mappa HSL a punti unici di RGB. Non solo i punti estremi che menzioni vengono mappati su un singolo set di valori RGB. Ad esempio, ci sono anche molti pubblicazioni per un valore di saturazione dell'1% (in HSL), come puoi controllare qui .

Questa è la teoria. In pratica, la maggior parte dei dispositivi non è in grado di elaborare / presentare 16.777.216 colori "unici e distinguibili" e anche l'occhio umano non può farlo. Quindi in pratica la differenza della quantità di valori "distintivi" spesso (non sempre) non importa.


eccellenti informazioni aggiuntive.
1279343,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.