Modelli di colore
I colori possono essere rappresentati mediante diverse notazioni, le più diffuse sono:
- RGB: metodo della tricromia additiva, si basa sull'addizione di tre colori – Red, Green, Blue – per ottenere tutti gli altri;
- CMYK: metodo della quadricromia sottrattiva, si basa sulla sovrapposizione di tre colori – Cyan, Magenta, Yellow – e del nero;
- HSB: metodo additivo di composizione del colore mediante l'indicazione di tonalità (o tinta), saturazione e luminosità;
Le notazioni RGB ed esadecimale
Volendo concentrare la nostra attenzione sull'ambito informatico (e più precisamente sul web design) le notazioni per la rappresentazione dei colori si riducono a due: RGB e esadecimale (spesso abbreviato in hex).
La notazione RGB prevede l'indicazione delle quantità dei tre colori di base (R, G, B), specificando per ciascuno un valore numerico compreso tra 0 e 255.
La notazione esadecimale è composta da tre coppie di numeri in base 16 (tale numerazione è così composta: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F – dove 0 è pari a 0 e F è pari a 15). Il valore più basso per ciascuna coppia è 00, mentre quello più alto è FF.
Come detto, un valore esadecimale è composto da tre valori corrispondenti (da sinistra verso destra) alle quantità di rosso, verde e blu. Per fare un esempio, il codice #000000
corrisponderà al nero, mentre #FFFFFF
al bianco.
Come i più attenti di voi avranno già notato, la notazione esadecimale non è altro che un "altro modo" per rappresentare un colore nel metodo RGB. È evidente, quindi, come i due valori siano fra loro facilmente convertibili.
RGB(255,255,255) = #FFFFFF
Effettuare la conversione da esadecimale a RGB
Per effettuare la conversione di un valore da esadecimale a RGB si utilizza questo approccio:
- si scompone il valore esadecimale nelle sue 3 coppie;
- ciascuna coppia viene convertita in questo modo: (n1 * 16) + n2;
- i tre valori numerici ottenuti (da 0 a 255) sono il corrispondente RGB.
Facciamo un esempio e vediamo come convertire in RGB il valore esadecimale FFC500
:
FF = (15 * 16) + 15 C5 = (12 * 16) + 5 00 = (0 * 16) + 0 FFC500 = RGB(255,197,0)
Effettuare la conversione da RGB a esadecimale
Vediamo ora le operazioni matematiche necessarie per fare l'operazione inversa, cioè convertire un valore RGB in esadecimale.
Il modo più semplice per fare questa operazione consiste nell'effettuare, per ciascuno dei tre numeri che compongono il valore RGB, una semplice divisione euclidea (o divisione con resto) utilizzando 16 come divisore.
Di seguito la procedura logico-matematica da seguire:
- si scompone il valore RGB nei tre numeri che lo compongono;
- ciascun numero viene diviso per 16 ottenendo un numero intero e un resto;
- convertire sia il risultato intero che il resto in base 16 (utilizzando la scala da 0 a F);
- le tre coppie ottenute sono il corrispondente esadecimale.
Facciamo un esempio e vediamo come convertire in esadecimale il valore RGB(255,197,0)
:
255 / 16 = 15 con resto di 15 (15 = F, 15 = F) 197 / 16 = 12 con resto di 5 (12 = C, 5 = 5) 0 / 16 = 0 con resto di 0 RGB(255,197,0) = FFC500
Convertire un codice RGB in esadecimale
La conversione di un colore da RGB a HEX è molto semplice: basta inserire i valori numerici relativi ai tre colori (R, G, B) e cliccare sul bottone per ottenere il corrispondente esadecimale.
Convertire un codice esadecimale in RGB
La conversione di un codice colore esadecimale in RGB è altrettanto semplice: è sufficiente inserire il codice esadecimale del colore e cliccare sul bottone per ottenere il corrispettivo in RGB.