X BitMap

Da Wikipedia, l'enciclopedia libera.
X BitMap
Esempio di immagine aperta da un programma di visualizzazione
Esempio di immagine aperta da un programma di visualizzazione
Estensione .xbm
Tipo MIME image/x-xbitmap (non ufficiale)
image/x-xbm (non ufficiale)
Tipo Immagine monocromatica

In computer grafica, l'X Window System utilizza X BitMap (XBM), un formato di file immagine che rappresenta un testo ASCII monocromatico, per conservare le bitmap di cursori e icone utilizzate nella GUI X.

I file XBM differiscono fortemente dalla maggior parte dei file, poiché i file XBM hanno la forma di file sorgenti del linguaggio C. Ciò significa che possono essere compilati direttamente dentro un'applicazione senza nessun passo di preprocessore, ma ciò li rende anche più grandi (ogni byte dell'immagine prende almeno 5 byte in un file XBM).

Formato[modifica | modifica sorgente]

I dati di un file XBM tipicamente appaiono nei file header e consistono in una serie di array di tipo static unsigned char che contengono i dati dei pixel monocromatici. La funzione di un array per ogni immagine viene conservata nei file header.

Il seguente pezzo di codice C esemplifica un file XBM:

#define test_width 16
#define test_height 7
static char test_bits[] = {
0x13, 0x00, 0x15, 0x00, 0x93, 0xcd, 0x55, 0xa5, 0x93, 0xc5, 0x00, 0x80,
0x00, 0x60 };

Al posto dei soliti header formato immagine, i file XBM hanno due o quattro #define statement. I primi due #define specificano l'altezza e la larghezza del bitmap in pixel. Gli altri due, se esistono, specificano la posizione di ogni hotspost dentro il bitmap. (I programmatori usano un hotspost all'interno dell'immagine per bitmappare il cursore da definire dove posizionare il "puntatore" del cursore, generalmente a 0,0).

L'informazione dell'immagine consiste in una linea di valori di pixel conservati in un array statico. Perché un singolo bit rappresenta ogni pixel (nero o bianco), ogni byte nell'array contiene l'informazione per otto pixel, dove il pixel in alto a sinistra viene rappresentato dal bit basso del primo byte nell'array. Se la larghezza dell'immagine non è un multiplo di 8, il meccanismo di visualizzazione ignora e rifiuta i bit extra nell'ultimo byte per ogni riga.

Supporto[modifica | modifica sorgente]

Un numero di web browser offrono ancora il supporto per mostrare le immagini XBM. Questo formato persiste dai primi giorni del WWW, quando XBM era il formato immagine minimale non-proprietario. Il supporto a XBM è stato rimosso da Internet Explorer 6, sebbene esso venga ancora supportato in Firefox e altri browser, tra cui Safari, Opera e Chrome.

Voci correlate[modifica | modifica sorgente]