Bitmap Windows (.bmp)
Architettura StandardBitmap Image File (BMP) è il formato raster fondamentale di Microsoft, indipendente dal dispositivo. Memorizza righe di scansione non compresse o compresse con RLE ed è compatibile direttamente con il framebuffer hardware.
Converti da BMP a PNG
Convertitore gratuito da BMP a PNG nel browser. Converti i file istantaneamente sul tuo dispositivo.
Ispezione e metadati
I sistemi operativi e gli analizzatori di file identificano i file BMP ispezionando la sequenza di byte binari iniziale:
Firma dell'intestazione a livello di byte (Magic Bytes)
I sistemi operativi e gli analizzatori di file identificano i file BMP ispezionando la sequenza di byte binari iniziale:
FIRMA ESADECIMALE (OFFSET 0):
42 4DRAPPRESENTAZIONE ASCII: BM
Standardizzazione: Architettura Microsoft Windows Device-Independent Bitmap (DIB)
Specifiche tecniche
| Architettura del contenitore | BITMAPFILEHEADER seguito da BITMAPINFOHEADER (DIB) e array di pixel raster |
| Compressione | Linee di scansione non compresse o codifica opzionale a lunghezza di sequenza BI_RLE8 / BI_RLE4 |
| Endianness dei byte | Little-endian (ordine dei byte Intel x86) |
| Spazi colore | RGB dipendente dal dispositivo, sRGB (BITMAPV5HEADER incorporato) |
| Canali e struttura | Monocromatico a 1 bit, con tavolozza a 4 o 8 bit, a 16 bit, RGB a 24 bit o RGBA a 32 bit |
| Dimensioni massime | 2,147,483,647 x 2,147,483,647 pixel (intero con segno a 32 bit) |
| Trasparenza | Maschera alfa BGRA a 32 bit supportata nei moderni formati BITMAPV3HEADER e V5HEADER |
| Streaming e progressivo | Non supporta lo streaming; linee di scansione memorizzate capovolte (dal basso verso l'alto) a meno che l'altezza non sia negativa |
Matrice di confronto tecnico: BMP vs Concorrenti
| Attributo tecnico | BMP (Attuale) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Modalità di compressione | Non compresso / RLE minimo | Compressione Deflate senza perdita; il risparmio dipende dal contenuto dell’immagine | Non compresso / LZW / Zip | DCT con perdita (circa il 90% più piccolo) |
| Velocità di decodifica | Copia in memoria istantanea | Richiede la decompressione Deflate | Richiede la decompressione LZW/ZIP | Richiede il calcolo IDCT |
| Ordinamento delle linee di scansione | Dal basso verso l'alto (invertito) | Dall'alto verso il basso | Dall'alto verso il basso / Strisce | Blocchi MCU dall'alto verso il basso |
| Idoneità per il web | Molto scarsa (payload pesanti) | Eccellente per la grafica | Scarsa (desktop publishing) | Eccellente per la fotografia |
Modalità di corruzione comuni e guida al recupero esadecimale
L’immagine appare inclinata o deformata in diagonale.
Causa principale: Calcolo errato del padding delle righe: ogni riga di scansione deve essere allineata a un limite di 4 byte.
Ripristino: Riconvertire utilizzando File2File.app Image Converter per forzare il corretto passo (stride) della linea di scansione a 32 bit.
Analisi di sicurezza e vettori di attacco del parser
I decoder BMP soffrono spesso di letture di buffer oltre i limiti quando allocano buffer basati su dimensioni dell'intestazione DIB non affidabili.
Vettori di attacco noti
- Overflow intero nel calcolo larghezza * altezza * bpp, che porta a una piccola allocazione nell'heap e a una scrittura fuori dai limiti.
- Sequenze di escape RLE8/RLE4 corrotte, codificate a lunghezza di sequenza, che causano scritture in memoria oltre il buffer allocato.
- Denial of service tramite allocazione di memoria di diversi gigabyte attivata da dimensioni dell'intestazione manipolate.
Migliori pratiche difensive: Convalidare rigorosamente i limiti di larghezza, altezza e profondità di colore dell'intestazione DIB prima di allocare la memoria di destinazione.
Origini storiche e tappe fondamentali
Vantaggi principali
- Zero degrado da compressione: archiviazione dei pixel esatta al 100% bit per bit senza alcun artefatto di compressione.
- BMP dispone di un codec nativo in Windows, mentre il supporto negli altri sistemi operativi e nelle applicazioni varia.
- La decodifica, di complessità trascurabile, lo rende ideale per microcontrollori integrati e per l'insegnamento della programmazione grafica.
Limiti tecnici e svantaggi
- Dimensioni dei file enormi dovute alla mancanza di una moderna compressione dell'entropia come DEFLATE o la codifica Huffman.
- Inefficiente per la trasmissione sul web o la distribuzione su reti mobili.
- L'ordinamento delle linee di scansione dal basso verso l'alto richiede l'inversione delle righe verticali nelle pipeline grafiche moderne orientate dall'alto verso il basso.
Curiosità tecniche
- BMP memorizza le linee di scansione dell'immagine capovolte (dal basso verso l'alto) per impostazione predefinita a causa del sistema di coordinate cartesiane matematiche utilizzato in OS/2.
- Se il valore dell'altezza nell'intestazione BMP è impostato su un numero negativo, l'immagine viene decodificata nel verso giusto (dall'alto verso il basso).
- Ogni linea di scansione in un file BMP deve essere riempita con zeri fino a un multiplo di 4 byte (allineamento dei confini a 32 bit).
Domande tecniche frequenti
Perché i file BMP sono così grandi?
I file BMP memorizzano valori di colore grezzi e non compressi per ogni singolo pixel, mentre formati come PNG comprimono tali dati senza perdere alcuna qualità.
BMP può supportare la trasparenza?
Sì. I file BMP a 32 bit (che utilizzano BITMAPV3HEADER o versioni successive) possono memorizzare un canale alfa a 8 bit, sebbene il supporto vari tra i software meno recenti.
Come posso ridurre le dimensioni di un file BMP?
La conversione di un file BMP in PNG può ridurre le dimensioni del file mantenendo i valori dei pixel, ma il risultato dipende dal contenuto dell’immagine e dalla codifica BMP.
Coppie di conversione per BMP correlate
La conversione di file Bitmap Windows non compressi in PNG offre una compressione senza perdita che riduce le dimensioni dei file senza compromettere la qualità dell'immagine.
La conversione di immagini PNG (Portable Network Graphics) in Bitmap Windows trasforma i dati raster compressi in una griglia di pixel non compressa per sistemi operativi e pipeline hardware legacy.
Inserisci una schermata BMP supportata in una pagina PDF per una segnalazione o un rapporto. Questo percorso accetta pixel non compressi a 24 o 32 bit, non varianti BMP compresse.