Da Hsl a RGB
HSL (Hue, Saturation, Lightness) e RGB (Red, Green, Blue) sono due diversi modelli di colore utilizzati per rappresentare i colori nell'imaging digitale e nella computer grafica. L'HSL è spesso considerato più intuitivo per la percezione umana e la manipolazione dei colori, mentre l'RGB è strettamente legato al modo in cui i colori vengono visualizzati sugli schermi elettronici.
HSL (Tonalità, Saturazione, Luminosità):
- Tonalità: rappresenta il colore reale, come rosso, blu, verde, ecc. È rappresentato come un angolo su una ruota dei colori, che va da 0 ° a 360 °. Il rosso si trova tipicamente a 0°, il verde a 120° e il blu a 240°.
- Saturazione: misura l'intensità o la purezza di un colore. Un valore di saturazione del 100% significa che il colore è completamente saturo e vibrante, mentre un valore dello 0% restituisce un colore in scala di grigi (nessun colore).
- Luminosità: rappresenta la luminosità del colore. Un valore di luminosità dello 0% è completamente nero, il 100% è completamente bianco e il 50% è il colore originale con luminosità normale.
La conversione da HSL a RGB comporta diverse operazioni matematiche. Una volta ottenuti i valori di tonalità, saturazione e luminosità, è possibile utilizzare le seguenti formule per calcolare i valori RGB corrispondenti:
- Normalizza la tonalità: convertite l'angolo di tonalità da gradi a un valore compreso tra 0 e 1.
- Calcola crominanza: La crominanza rappresenta la saturazione del colore senza considerare la luminosità. Viene calcolato moltiplicando la saturazione per il minimo di (1 - |2 * leggerezza - 1|) e 1.
- Calcola valori temporanei: questi valori temporanei aiutano a calcolare le componenti intermedie del colore RGB.
- X = crominanza * (1 - |( tonalità / 60) % 2 - 1|) (utilizzato per calcoli intermedi)
- m = leggerezza - crominanza / 2
- Calcola componenti RGB:
- Se 0° <= tonalità < 60°: RGB = (crominanza + m, X + m, m)
- Se 60° <= tonalità < 120°: RGB = (X + m, crominanza + m, m)
- Se 120° <= tonalità < 180°: RGB = (m, crominanza + m, X + m)
- Se 180° <= tonalità < 240°: RGB = (m, X + m, crominanza + m)
- Se 240° <= tonalità < 300°: RGB = (X + m, m, crominanza + m)
- Se 300° <= tonalità < 360°: RGB = (crominanza + m, m, X + m)
- Normalizza valori RGB: assicurati che i valori R, G e B calcolati siano compresi tra 0 e 1. Se necessario, è possibile moltiplicarli per 255 per ottenere i valori di colore standard a 8 bit.
Ricorda che queste formule presuppongono che il valore della tonalità sia espresso in gradi e che i valori di saturazione e luminosità siano compresi tra 0 e 1.
La conversione da HSL a RGB e viceversa può essere un po 'complessa, quindi l'utilizzo di librerie o strumenti che forniscono funzioni integrate per le conversioni dello spazio colore può semplificare il processo.
Tabella dei Colori
Nome Colore | HSL (H, S, L) | RGB (R, G, B) | Anteprima Colore |
---|---|---|---|
Rosso | (0, 1, 0.5) | (255, 0, 0) | |
Verde | (120, 1, 0.5) | (0, 255, 0) | |
Blu | (240, 1, 0.5) | (0, 0, 255) | |
Giallo | (60, 1, 0.5) | (255, 255, 0) | |
Turchese | (180, 1, 0.5) | (0, 255, 255) | |
Lavanda | (300, 1, 0.5) | (255, 0, 255) | |
Nero | (0, 0, 0) | (0, 0, 0) | |
Bianco | (0, 0, 1) | (255, 255, 255) | |
Nero Saturato | (0, 1, 0) | (0, 0, 0) | |
Rosso Saturato | (0, 1, 1) | (255, 0, 0) | |
Verde Pallido | (120, 1, 0.25) | (64, 128, 64) | |
Lilla Pastello | (240, 0.5, 0.75) | (128, 64, 128) |