Windows Bitmap (.bmp)

Microsofts Standard

Bitmap Image File (BMP) er Microsofts grunnleggende enhetsuavhengige rastergrafikkformat, som lagrer ukomprimerte eller RLE-komprimerte skannelinjer med direkte maskinvarekompatibilitet for rammebuffer.

Konverter BMP til PNG

Gratis BMP til PNG-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.

Inspeksjon og metadata

Operativsystemer og filanalysatorer identifiserer BMP-filer ved å undersøke den innledende binære bytesekvensen:

Velg eller slipp filer her

Privat - filer forlater aldri enheten din

eller lim inn Ctrl+V
Personverngaranti uten nettverksoverføring: 0 byte ble lastet opp til eksterne servere. All behandling foregikk lokalt i det isolerte nettlesermiljøet ditt.

Filsignatur på bytenivå (magiske byte)

Operativsystemer og filanalysatorer identifiserer BMP-filer ved å undersøke den innledende binære bytesekvensen:

HEX-SIGNATUR (OFFSET 0):

42 4D

ASCII-REPRESENTASJON: BM

Standardisering: Microsofts Windows-arkitektur for enhetsuavhengige punktgrafikkbilder (DIB)

Tekniske spesifikasjoner

BeholderarkitekturBITMAPFILEHEADER etterfulgt av BITMAPINFOHEADER (DIB) og rasterpikselmatrise
KomprimeringUkomprimerte rå skannelinjer eller valgfri BI_RLE8-/BI_RLE4-koding med rekkelengder
BytterekkefølgeLittle-endian (Intel x86-byterekkefølge)
FargeromEnhetsavhengig RGB, sRGB (innebygd i BITMAPV5HEADER)
Kanaler og struktur1-bits monokrom, 4-/8-bits indeksert, 16-biters, 24-bits RGB eller 32-bits RGBA
Maks. dimensjoner2,147,483,647 x 2,147,483,647 piksler (signert 32-bits heltall)
Gjennomsiktighet32-bits BGRA-alfamaske støttes i nyere BITMAPV3HEADER- og V5HEADER-formater
Strømming og progressiv visningKan ikke strømmes; skannelinjene lagres opp-ned (nedenfra og opp) med mindre høyden er negativ

Teknisk sammenligningsmatrise: BMP sammenlignet med konkurrenter

Teknisk attributtBMP (Gjeldende)PNGTIFFJPG
KomprimeringsmodusUkomprimert / Minimal RLETapsfri Deflate-komprimering; plassbesparelsen varierer med bildeinnholdetUkomprimert / LZW / ZipTapsgivende DCT (~90 % mindre)
AvkodingshastighetØyeblikkelig minnekopiKrever Deflate-dekomprimeringKrever LZW/ZIP-dekomprimeringKrever IDCT-beregning
SkannelinjerekkefølgeBunn-til-topp (invertert)Topp-til-bunnTopp-til-bunn / StripsTopp-til-bunn MCU-blokker
Web-egnethetSvært dårlig (oppblåste nyttelaster)Utmerket for grafikkDårlig (skrivebordspublisering)Utmerket for fotografering

Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning

Bildet gjengis skrått diagonalt eller forvrengt i en vinkel.

Underliggende årsak: Feil beregning av radutfylling (manglende utfylling av hver skannelinje til en 4-byte grense).

Utbedring: Kode om ved hjelp av File2File.app Image Converter for å tvinge frem korrekt 32-biters skannelinjesteg.

Sikkerhetsanalyse og angrepsvektorer mot parsere

BMP-avkodere lider ofte av bufferoverlesing ved allokering av buffere basert på ikke-verifiserte DIB-hodedimensjoner.

Kjente angrepsvektorer

  • Heltallsoverflyt i beregningen bredde * høyde * bpp som fører til liten heap-allokering og skriving utenfor grensene.
  • Korrupte RLE8/RLE4-sekvenser som forårsaker minneskriving utover allokert buffer.
  • Tjenestenektangrep gjennom flergigabyte minneallokering utløst av manipulerte hodedimensjoner.

Anbefalte sikkerhetstiltak: Valider strengt DIB-topptekstens bredde-, høyde- og bitdybdegrenser før destinasjonsminnet allokeres.

Historisk opprinnelse og milepæler

1998Windows 98 introduserer BITMAPV5HEADER, som legger til støtte for ICC-fargeprofilstyring og gammakorrigering.
1990Windows 3.0 standardiserer BITMAPINFOHEADER DIB-spesifikasjonen på tvers av operativsystemet.
1987Introdusert med Windows 2.0 og OS/2 1.1 som det opprinnelige visningsrasterformatet.

Viktige fordeler

  • Null komprimeringsforringelse: 100 % bitnøyaktig pikselagring uten komprimeringsartefakter.
  • Windows har en innebygd BMP-kodek, mens støtte i andre operativsystemer og programmer varierer.
  • Triviell avkodingskompleksitet gjør det ideelt for innebygde mikrokontrollere og opplæring i grafikkprogrammering.

Tekniske begrensninger og ulemper

  • Enorme filstørrelser på grunn av mangel på moderne entropikompresjon som DEFLATE eller Huffman-kodning.
  • Ineffektivt for overføring på web eller distribusjon i mobilnettverk.
  • Nederst-til-topp skannelinjerekkefølge krever vertikal radinversjon i moderne topp-til-bund-grafikkrørledninger.

Interessante tekniske fakta

  • BMP lagrer bildeskannelinjer opp-ned (bunn til topp) som standard på grunn av det matematiske kartesiske koordinatsystemet som ble brukt i OS/2.
  • Hvis høydeverdien i BMP-hodet er satt til et negativt tall, avkodes bildet riktig vei (topp-til-bunn).
  • Hver skannelinje i en BMP-fil må fylles med nuller (padding) til et multiplum av 4 byte (32-bits grensejustering).

Ofte stilte tekniske spørsmål

Hvorfor er BMP-filer så store?

BMP-filer lagrer rå, ukomprimerte fargeverdier for hver eneste piksel, mens formater som PNG komprimerer disse dataene uten å miste kvalitet.

Kan BMP støtte gjennomsiktighet?

Ja. 32-biters BMP-filer (med BITMAPV3HEADER eller nyere) kan lagre en 8-biters alfakanal, selv om støtten varierer mellom eldre programmer.

Hvordan kan jeg redusere størrelsen på en BMP-fil?

Konvertering av en BMP-fil til PNG kan redusere filstørrelsen samtidig som pikselverdiene bevares, men resultatet avhenger av bildeinnholdet og BMP-kodingen.