Convertire un colore da HSL a RGB

Beatrice ha bisogno di una formula in grado di convertire i valori di colore HSL (valori di tonalità, saturazione e luminanza) in valori di colore RGB (valori di rosso, verde e blu). Si chiede se esista una formula per farlo oppure un modo per farlo in una macro.

La conversione da valori HSL a RGB non è un’impresa particolarmente banale. Per coloro che sono interessati alla teoria del colore, è possibile consultare questo articolo di Gianluca Tramontana sull’argomento.

Mentre online si trovano diversi calcolatori che effettuano la conversione automaticamente, tipo questo.

Se devi eseguire la conversione di rado, il modo più semplice è seguire questi passaggi:

  1. Visualizza la scheda Home della barra multifunzione.
  2. Fai clic sulla freccia in basso sul lato destro dello strumento Colore riempimento, nel gruppo Carattere. Excel visualizza una piccola tavolozza di colori e alcune altre opzioni.
  3. Scegli Altri colori. Excel visualizza la finestra di dialogo Colori.
  4. Assicurati che la scheda Personalizzati sia visualizzata.
  5. Utilizzando l’elenco a discesa Modello colori, scegli HSL.
Convertire un colore da HSL a RGB 1
  1. Nella parte inferiore della finestra di dialogo puoi vedere i singoli valori per Tonalità, Sat e Lum. Cambia questi valori in quello che vuoi.
  2. Utilizzando l’elenco a discesa Modello colori, scegli RGB. I valori mostrati nella parte inferiore della finestra di dialogo sono i valori HSL (immessi nel passaggio 6) convertiti in RGB.
  3. Al termine, fai clic su Annulla.

Questo approccio presuppone che ciascuno dei tuoi valori HSL possa essere espresso nell’intervallo da 0 a 255. Se, tuttavia, i tuoi valori HSL sono un angolo (per tonalità) o una percentuale (per saturazione e luminanza), allora avrai bisogno per convertirli manualmente prima di inserirli nel passaggio 6. È possibile convertire un valore di angolo moltiplicando l’angolo per 255 e quindi dividendo per 360. Le percentuali possono essere convertite moltiplicandole per 2,55.

Se è necessario ottenere i valori più spesso, sarà utile creare la propria funzione definita dall’utente (UDF) per eseguire la conversione. L’esempio seguente accetta tre parametri (Tonalità, Saturazione e Luminanza) e restituisce una stringa contenente i valori RGB decimali separati da virgole.

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Tags: , , , , , ,

Ti è stato utile?