Bitmap Windows (.bmp)
Architettura StandardBitmap Image File (BMP) è il formato di grafica raster indipendente dal dispositivo fondamentale di Microsoft, che memorizza linee di scansione non compresse o compresse RLE con compatibilità diretta con il framebuffer hardware.
Converti da BMP a PNG
Convertitore gratuito da BMP a PNG nel browser. Converti i file istantaneamente sul tuo dispositivo.
Ispeziona 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 container | BITMAPFILEHEADER seguito da BITMAPINFOHEADER (DIB) e array di pixel raster |
| Compressione | Linee di scansione raw non compresse, o codifica a lunghezza di esecuzione opzionale 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 bit / 8 bit, RGB a 16 bit, 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 trasmissibile in 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 (Corrente) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Modalità di compressione | Non compresso / RLE minimo | Deflate senza perdita (~70% più piccolo) | Non compresso / LZW / Zip | DCT con perdita (~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 Hex
L'immagine viene resa inclinata diagonalmente o distorta ad angolo.
Causa principale: Calcolo del padding delle righe errato (mancato riempimento di ciascuna linea di scansione a un confine di 4 byte).
Ripristino: Riconvertire utilizzando File2File 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 di interi nel calcolo larghezza * altezza * bpp che porta a una piccola allocazione dell'heap e a una scrittura fuori dai limiti.
- Sequenze di escape a lunghezza di esecuzione RLE8/RLE4 corrotte 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 e pro
- Zero degrado da compressione: archiviazione dei pixel esatta al 100% bit per bit senza alcun artefatto di compressione.
- Supporto nativo universale del sistema operativo in tutte le versioni di Windows, Linux e macOS.
- La semplicità di decodifica banale lo rende ideale per microcontrollori incorporati e didattica 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 interessanti
- 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 con File2File.app riduce in genere le dimensioni del file dal 60% all'85% senza alcuna perdita di qualità visiva.
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.