Bitmap Windows (.bmp)

Architettura Standard

Bitmap 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:

Seleziona o rilascia i file qui

Conversione 100% privata nel browser: i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

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 4D

RAPPRESENTAZIONE ASCII: BM

Standardizzazione: Architettura Microsoft Windows Device-Independent Bitmap (DIB)

Specifiche tecniche

Architettura del containerBITMAPFILEHEADER seguito da BITMAPINFOHEADER (DIB) e array di pixel raster
CompressioneLinee di scansione raw non compresse, o codifica a lunghezza di esecuzione opzionale BI_RLE8 / BI_RLE4
Endianness dei byteLittle-Endian (ordine dei byte Intel x86)
Spazi coloreRGB dipendente dal dispositivo, sRGB (BITMAPV5HEADER incorporato)
Canali e strutturaMonocromatico a 1 bit, con tavolozza a 4 bit / 8 bit, RGB a 16 bit, 24 bit o RGBA a 32 bit
Dimensioni massime2.147.483.647 x 2.147.483.647 pixel (intero con segno a 32 bit)
TrasparenzaMaschera alfa BGRA a 32 bit supportata nei moderni formati BITMAPV3HEADER e V5HEADER
Streaming e progressivoNon 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 tecnicoBMP (Corrente)PNGTIFFJPG
Modalità di compressioneNon compresso / RLE minimoDeflate senza perdita (~70% più piccolo)Non compresso / LZW / ZipDCT con perdita (~90% più piccolo)
Velocità di decodificaCopia in memoria istantaneaRichiede la decompressione DeflateRichiede la decompressione LZW/ZIPRichiede il calcolo IDCT
Ordinamento delle linee di scansioneDal basso verso l'alto (invertito)Dall'alto verso il bassoDall'alto verso il basso / StrisceBlocchi MCU dall'alto verso il basso
Idoneità per il webMolto scarsa (payload pesanti)Eccellente per la graficaScarsa (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

1998Windows 98 introduce BITMAPV5HEADER, aggiungendo la gestione del profilo colore ICC e la correzione della gamma.
1990Windows 3.0 standardizza la specifica DIB BITMAPINFOHEADER in tutto il sistema operativo.
1987Presentato con Windows 2.0 e OS/2 1.1 come formato raster nativo per lo schermo.

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.