Modelli di colore
I colori possono essere rappresentati mediante diverse notazioni, le più diffuse sono:
- RGB: metodo della tricromia addittiva, si basa sulla addizione di tre colori - Red, Gree, 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 addittivo di composizione del colore mediante l'indicazione di tonalità (o tinta), saturazione e luminosità;
Le notazioni RGB ed esadecimale
Volendo concentrare la nostra attenzione all'ambito informatico (e più precisamente del 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. E' 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 RBG.
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 divisio per 16 ottenendo un numero intero ed un resto;
- convertire sia il risultato intero che il risultato 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 corrisponente esadecimale.
Convertire un codice esadecimale in RGB
La conversione di un codice colore esadecimale in RGB è alttettanto semplice: è sufficiente inserire il codice esadecimale del colore e cliccare sul bottone per ottenere il corrispettivo in RGB.