Windows Bitmap (.bmp)

Microsoft Standard

Bitmap Image File (BMP) är Microsofts grundläggande enhetsoberoende rastergrafikformat. Det lagrar okomprimerade eller RLE-komprimerade skanningslinjer och är direkt kompatibelt med maskinvarans bildminne.

Konvertera BMP till PNG

Gratis konverterare från BMP till PNG i webbläsaren. Konvertera filer direkt på din enhet.

Granska och metadata

Operativsystem och filanalysverktyg identifierar BMP-filer genom att granska den inledande sekvensen av binära byte:

Välj eller släpp filer här

Privat - filer lämnar aldrig din enhet

eller klistra in Ctrl+V
Integritetsgaranti utan nätverksöverföring: 0 byte laddades upp till externa servrar. All bearbetning skedde lokalt i webbläsarens sandlåda.

Signatur i filhuvudet på bytenivå (magiska byte)

Operativsystem och filanalysverktyg identifierar BMP-filer genom att granska den inledande sekvensen av binära byte:

HEX-SIGNATUR (OFFSET 0):

42 4D

ASCII-REPRESENTATION: BM

Standardisering: Microsoft Windows-arkitektur för enhetsoberoende bitmappar (DIB)

Tekniska specifikationer

ContainerarkitekturBITMAPFILEHEADER följt av BITMAPINFOHEADER (DIB) och rasterbildens pixelmatris
KomprimeringOkomprimerade råa skanningslinjer eller valfri RLE-kodning med BI_RLE8 eller BI_RLE4
ByteordningLittle-endian (Intel x86-byteordning)
FärgrymderEnhetsberoende RGB, Inbäddad sRGB (BITMAPV5HEADER)
Kanaler och struktur1-bitars monokrom, 4- eller 8-bitars palettfärg, 16-bitars, 24-bitars RGB eller 32-bitars RGBA
Maximala dimensioner2 147 483 647 x 2 147 483 647 pixlar (signerat 32-bitars heltal)
TransparensAlfamask med 32-bitars BGRA stöds i moderna BITMAPV3HEADER- och V5HEADER-format
Strömning och progressiv visningKan inte strömmas; skanningslinjer lagras upp och ned (nedifrån och upp), om inte höjden är negativ

Teknisk jämförelsematris: BMP jämfört med konkurrenter

Tekniskt attributBMP (Aktuell)PNGTIFFJPG
KomprimeringslägeOkomprimerat / minimal RLE-komprimeringFörlustfri Deflate-komprimering; filstorleksbesparingen varierar med bildinnehålletOkomprimerat / LZW / ZipFörlustkomprimerad DCT (cirka 90 % mindre)
AvkodningshastighetOmedelbar minneskopieringKräver Deflate-dekompressionKräver LZW/ZIP-dekompressionKräver IDCT-beräkning
SkanningslinjeordningNedifrån och upp (omvänd ordning)Uppifrån och nedUppifrån och ned / remsorUppifrån och ned MCU-block
Lämplighet för webbenMycket dålig (uppblåsta nyttolaster)Utmärkt för grafikDålig (desktoppublicering)Utmärkt för fotografering

Vanliga skadeorsaker och hex-återställningsguide

Bilden ser diagonalt förskjuten eller sned ut.

Grundorsak: Felaktig beräkning av radutfyllnad. Varje skanningslinje ska fyllas ut till en 4-byte-gräns.

Återställning: Koda om med File2File.app Image Converter för att säkerställa rätt avstånd mellan 32-bitars skanningslinjer.

Säkerhetsanalys och attackvektorer för tolkar

BMP-avkodare kan läsa förbi buffertgränser när de allokerar minne utifrån mått i DIB-huvuden som inte har validerats.

Kända attackvektorer

  • Heltalsspill vid beräkning av bredd x höjd x bpp kan leda till för liten heap-allokering och skrivning utanför tilldelat minne.
  • Skadade RLE8/RLE4-kodsekvenser kan skriva data utanför den allokerade bufferten.
  • Tjänsteavbrott till följd av att manipulerade mått i headern utlöser minnesallokering på flera gigabyte.

Rekommenderade skyddsåtgärder: Kontrollera noga att DIB-headerns bredd, höjd och bitdjup ligger inom tillåtna gränser innan minne för bilden allokeras.

Historiskt ursprung och milstolpar

1998Windows 98 introducerar BITMAPV5HEADER, som lägger till hantering av ICC-färgprofiler och gammakorrigering.
1990Windows 3.0 standardiserar DIB-specifikationen BITMAPINFOHEADER i hela operativsystemet.
1987Introducerades med Windows 2.0 och OS/2 1.1 som det ursprungliga visningsrasterformatet.

Viktiga fördelar

  • Ingen komprimeringsförsämring: 100 % bit-exakt lagring av pixlar utan komprimeringsartefakter.
  • Windows har en inbyggd BMP-kodek, medan stöd i andra operativsystem och program varierar.
  • Enkel avkodning gör formatet lämpligt för inbyggda mikrokontroller och undervisning i grafikprogrammering.

Tekniska begränsningar

  • Enorma filstorlekar på grund av avsaknad av modern entropikomprimering som DEFLATE eller Huffman-kodning.
  • Ineffektivt för överföring på webben eller distribution via mobilnät.
  • Skanningslinjer som lagras nedifrån och upp måste vändas vertikalt i moderna grafikflöden som läser uppifrån och ned.

Intressant teknisk kuriosa

  • BMP lagrar som standard bildens skanningslinjer upp och ned (nedifrån och upp) på grund av det kartesiska koordinatsystem som användes i OS/2.
  • Om BMP-headern anger höjden som ett negativt tal avkodas bilden rättvänd, uppifrån och ned.
  • Varje skanningslinje i en BMP-fil måste fyllas ut med nollor till en multipel av 4 byte (32-bitars gränsjustering).

Vanliga tekniska frågor

Varför är BMP-filer så stora?

BMP-filer lagrar råa, okomprimerade färgvärden för varje pixel. Format som PNG komprimerar dessa data utan kvalitetsförlust.

Kan BMP ha stöd för transparens?

Ja. 32-bitars BMP-filer med BITMAPV3HEADER eller senare kan lagra en 8-bitars alfakanal, men stöd saknas i viss äldre programvara.

Hur kan jag minska storleken på en BMP-fil?

Om du konverterar en BMP-fil till PNG kan filstorleken minska samtidigt som pixelvärdena bevaras. Resultatet beror på bildinnehållet och BMP-kodningen.