Windows bitmap

formato dati

Windows bitmap è un formato dati utilizzato per la rappresentazione di immagini raster sui sistemi operativi Microsoft Windows. Le bitmap, come sono comunemente chiamati gli oggetti di questo formato, sono supportate come componenti della libreria grafica GDI, e possono essere salvate in file d'immagine con l'estensione .bmp o .dib (device-independent bitmap).

Si tratta di un formato che permette accessi in lettura e scrittura molto veloci e senza perdita di qualità, ma che, anche nella variante compressa RLE, richiede generalmente più memoria rispetto ad altri formati raster.

Le immagini bitmap hanno generalmente una profondità di 1, 4, 8, 16 o 24 bit per pixel. Le bitmap con 1, 4 e 8 bit contengono una palette per l'indicizzazione dei colori (rispettivamente 2, 16 e 256 colori), mentre nelle immagini dalla profondità più alta il colore è codificato direttamente nelle sue componenti RGB. Con Windows XP sono state inoltre introdotte le bitmap a 32 bit per pixel, che oltre ai valori di rosso, verde e blu codificano il canale alpha per la realizzazione d'immagini semitrasparenti.

Struttura

BITMAPFILEHEADER
BITMAPINFOHEADER
array di RGBQUAD
array di indici colore

Struttura di una bitmap

Su disco le immagini bitmap sono codificate utilizzando alcune semplici strutture che ne descrivono le proprietà.

BITMAPFILEHEADER
Questo è l'header della bitmap che contiene informazioni sulla grandezza in byte del file e l'offset dall'inizio del file al primo byte di dati. Questa struttura è assente quando la bitmap viene codificata come risorsa all'interno di un'applicazione o libreria.
BITMAPINFOHEADER
In questa struttura sono indicate le dimensioni in pixel dell'immagine e il numero di colori utilizzati. Le informazioni sono relative al dispositivo sul quale la bitmap è stata creata.
array di RGBQUAD
La terza struttura è un array che fa corrispondere un colore ad ogni indice utilizzato. In questa tabella ogni colore è rappresentato da una struttura di 4 byte, uno ciascuno per i componenti rosso, verde e blu più un byte non utilizzato. Nel caso di immagini true-color con 16, 24 o 32 colori, questa tabella di colori non è necessaria perché il colore dei pixel non è indicizzato, bensì codificato direttamente nelle sue componenti.
array di indici colore
Questa è la struttura di dati principale dove ad ogni pixel si fa corrispondere un colore sotto forma di indice all'array di RGBQUAD, oppure nelle componenti cromatiche.

Voci correlate

Collegamenti esterni