Bitmap di Windows

Bitmap di Windows Caratteristiche
Estensioni .bmp, .dib,.rle
Tipo MIME image/bmp, image/x-bmp, image/x-ms-bmp
Firma 42 4D( hexa )
Sviluppato da Microsoft
Tipo di formato Immagine raster

La bitmap di Windows (nota anche con l' abbreviazione di BitMaP in BMP  , inglese, bitmap indipendente dal dispositivo o DIB), è una dimensione di bitmap aperta sviluppata da Microsoft e IBM . È uno dei formati di immagine più facili da sviluppare e utilizzare per la programmazione. È leggibile da quasi tutti i visualizzatori di immagini e gli editor. È stato introdotto con Windows 3.0 nel 1990 .

Organizzazione dei file

Il file è diviso in tre aree:

Formato del file

Il file è diviso in due parti, vale a dire:

Offset # (numero di riga) Formato Valore
0x0000 2 byte il numero magico corrispondente all'utilizzo del file BMP
  • BM - Windows 3.1x , 95, NT,  ecc.
  • BA - Array bitmap OS / 2
  • CI - Colore icona OS / 2 ( icona colore )
  • CP - Colore puntatore OS / 2 ( puntatore colore )
  • IC - Icona OS / 2 ( icona )
  • PT - Puntatore OS / 2 ( puntatore )
0x0002 4 byte la dimensione del file BMP in byte
0x0006 2 byte riservato per l'identificativo dell'applicazione che ha creato il file
0x0008 2 byte riservato per l'identificativo dell'applicazione che ha creato il file
0x000A 4 byte l' offset (l'indirizzo iniziale) del contenuto del BMP

Questi includono la dimensione del file in byte, la posizione iniziale dei dati, il numero di bit per pixel nell'immagine, il tipo di compressione utilizzato, il numero di colori nella tavolozza, la larghezza e l'altezza dell'immagine.  eccetera.

Tavolozza

Il software di lettura utilizza tre byte per codificare il colore (sistema rosso verde blu , RGB):

La tavolozza è quindi una tabella di corrispondenza del tipo:

Valore da visualizzare Rgb
0 R = r0 , B = b0 , V = v0 + byte 00
...
255 R = r255 , B = b255 , V = v255 + byte 00

Ad esempio, per un'immagine in scala di grigi (256 sfumature), i tre valori R, G e B saranno uguali e varieranno tra 0 e 255 .

La struttura del file BMP diventa quindi:

Questo dovrebbe essere preso in considerazione quando si calcola l'intestazione. Esiste anche un formato BMP a 1 e 4 bit.

Numero di colori

Il formato BMP supporta diverse varianti, a seconda del numero di possibili colori desiderati . La profondità del colore è il numero di bit associati a ciascun pixel per codificarne il colore .

Pertanto, le immagini BMP possono essere a 2 colori (1  bit ), 16 colori (4 bit), 256 colori (8 bit), 65.536 colori (16 bit) o ​​16,8 milioni di colori (24 bit).

Le immagini a 24 bit hanno tre canali a 8 bit per le tre luci primarie (rossa, verde, blu), ciascuna delle quali può assumere 256 valori diversi. Le immagini in 256 livelli di grigio sono possibili con un singolo canale a 8 bit.

Dimensione del file

Il formato BMP è quasi inesistente sul Web  : non degrada l'immagine e generalmente non utilizza la compressione, quindi è molto pesante. Tuttavia, esiste la compressione RLE per il formato BMP.

Per calcolare la dimensione approssimativa del file BMP finale, moltiplichiamo la profondità del colore (1, 4, 8, 16 o 24 bit) per l'altezza e per la larghezza in pixel: (Profondità del colore in bit) × (Altezza in pixel) × (Larghezza in pixel) bit.

Ad esempio, un'immagine in 800 × 600 (800  pixel di larghezza per 600 pixel di altezza) a 24 bit (16,8 milioni di colori) avrà una dimensione di (800 × 600 × 24) bit o 1,44  MB (1, 37  milioni ) o il capacità di un floppy disk da 3 ″ ½ ad alta densità (tale immagine non può quindi essere registrata su floppy disk da 1,44 Mb ,  in particolare a causa della tabella di allocazione file che occupa un po 'di spazio, proprio come l'intestazione dell'immagine).

Layout dei dati dell'immagine

A differenza della maggior parte dei formati di immagine, i pixel nell'immagine vengono codificati a partire dalla riga inferiore dell'immagine. Ogni riga (codificata da sinistra a destra) deve sempre occupare un numero di byte multiplo di 4, tranne se l'immagine è compressa . Se la linea non ha viene aggiunto un numero di multiplo di 4 byte FF, 00FFo 0000FFalla fine di ogni riga.

Se l'immagine è codificata a 24 bit, ogni pixel è codificato da un intero a 24 bit (RGB), ordine little endian , vale a dire che i tre byte codificano successivamente i livelli di blu, verde e rosso.

Se l'immagine è codificata con meno di 16 bit, ogni pixel viene codificato come un indice nella tavola dei colori (la tavolozza), da cui il nome “immagine indicizzata”. Nel caso di immagini che codificano i pixel su 1 bit o 4 bit, vale a dire se più pixel sono codificati nello stesso byte, i bit più significativi si riferiscono al pixel più a sinistra.

Compressione

Il formato BMP consente l'utilizzo dell'algoritmo di compressione RLE per immagini a 8 bit (256 colori) e 4 bit (16 colori).

La compressione RLE, introdotta nel formato BMP all'epoca di Windows 3.x , tuttavia non era completamente supportata fino a Windows 95 . È usato raramente perché è realmente efficace solo su immagini in cui la maggior parte dei pixel adiacenti ha lo stesso colore.

Il principio :

Note e riferimenti

Riferimenti

  1. (en-US) Kashif Iqbal , "  BMP - Image File Format  " , su docs.fileformat.com ,11 ottobre 2019(accesso 7 gennaio 2021 )
  2. "  BMP File Format  " , su www.digicamsoft.com (accesso 7 gennaio 2021 )
  3. (in) "  Introduzione ai computer e alle loro applicazioni  " [PDF] su Adelphi University (accesso 7 gennaio 2021 )
  4. "  Formato BMP  " [PDF] , su projet.eu.org (accesso 7 gennaio 2021 )
  5. "  Il formato Bitmap  " , su chrisatari.net (accesso 7 gennaio 2021 )
  6. "  A Beginners Guide to Bitmaps  " , su paulbourke.net (accesso 7 gennaio 2021 )
  7. (en-US) "  RLE Compression for Bitmaps  " , su www.codeproject.com (accesso 7 gennaio 2021 )
  8. "  Crea un file bitmap con un editor esadecimale -turrier.fr  " , su turrier.fr (accesso 7 gennaio 2021 )

Bibliografia

Vedi anche

Articoli Correlati

link esterno