Windows Bitmap (.bmp)

Microsoft Standard

Bitmap Image File (BMP) er Microsofts grundlæggende enhedsuafhængige rastergrafikformat, som lagrer ukomprimerede eller RLE-komprimerede scanningslinjer med direkte kompatibilitet med hardwarens billedramme (framebuffer).

Konverter BMP til PNG

Gratis BMP til PNG-konverter i browseren. Konverter filer med det samme på din enhed.

Undersøg & Metadata

Operativsystemer og filanalysatorer identificerer BMP-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

100% privat konvertering i browseren - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 bytes uploadet til eksterne servere. Al behandling foregik lokalt i din browsers sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer BMP-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

42 4D

ASCII-REPRÆSENTATION: BM

Standardisering: Microsoft Windows Device-Independent Bitmap (DIB) Architecture

Tekniske specifikationer

ContainerarkitekturBITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array
KomprimeringUncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding
BytterejsningLittle-Endian (Intel x86 byte order)
FarverumDevice Dependent RGB, sRGB (BITMAPV5HEADER embedded)
Kanaler og struktur1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA
Maks. dimensioner2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer)
Gennemsigtighed32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats
Streaming og progressivNon-streamable; scanlines stored upside-down (bottom-up) unless height is negative

Tekniske sammenligningsmatrix: BMP vs. konkurrenter

Teknisk attributBMP (Aktuel)PNGTIFFJPG
KomprimeringstilstandUkomprimeret / Minimal RLETabsfri Deflate (~70 % mindre)Ukomprimeret / LZW / ZipTabsgivende DCT (~90 % mindre)
AfkodningshastighedØjeblikkelig hukommelseskopiKræver Deflate-dekomprimeringKræver LZW/ZIP-dekomprimeringKræver IDCT-beregning
ScanningslinjefølgeNedefra og op (inverteret)Oppefra og nedOppefra og ned / StripsOppefra og ned MCU-blokke
WebegnethedMeget dårlig (oppustede nyttelaster)Fremragende til grafikDårlig (desktop publishing)Fremragende til fotografi

Almindelige korruptionstilstande og hex-gendannelsesvejledning

Billedet gengives diagonalt forskudt eller skævt i en vinkel.

Grundlæggende årsag: Forkert beregning af række-padding (manglende udfyldning af hver scanningslinje til en 4-byte-grænse).

Gendannelse: Genkod ved hjælp af File2File Image Converter for at gennemtvinge korrekt 32-bit scanningslinjestride.

Sikkerhedsanalyse og parser-angrebsvektorer

BMP-afkodere lider ofte under bufferoverlæsninger (buffer over-reads), når der allokeres buffere baseret på ikketroværdige DIB-hoveddimensioner.

Kendte angrebsvektorer

  • Heltals-overløb i bredde * højde * bpp-beregning, som fører til lille heap-allokering og skrivning uden for grænserne.
  • Korrupte RLE8/RLE4-løbelængde-undslippelsessekvenser (run-length escape sequences), der forårsager hukommelsesskrivninger ud over den allokerede buffer.
  • Denial of service via hukommelsesallokering på flere gigabyte udløst af manipulerede header-dimensioner.

Defensive bedste praksisser:

Historisk oprindelse og milepæle

1998Windows 98 introducerer BITMAPV5HEADER, som tilføjer administration af ICC-farveprofiler og gammakorrektion.
1990Windows 3.0 standardiserer BITMAPINFOHEADER DIB-specifikationen på tværs af operativsystemet.
1987Introduceret med Windows 2.0 og OS/2 1.1 som det oprindelige visningsrasterformat.

Vigtige fordele og styrker

  • Nul komprimeringsforringelse: 100 % bideksakt pixel-lagring helt uden komprimeringsartefakter.
  • Universel indbygget operativsystemunderstøttelse på tværs af alle versioner af Windows, Linux og macOS.
  • Minimal afkodningskompleksitet gør det ideelt til indlejrede mikrocontrollere og undervisning i grafisk programmering.

Tekniske begrænsninger og ulemper

  • Enorme filstørrelser på grund af manglende moderne entropikomprimering som DEFLATE eller Huffman-kodning.
  • Ineffektivt til webtransmission eller distribution over mobilnetværk.
  • Scanningslinjefølge udefra og ind (nedefra og op) kræver lodret rækkeinvertering i moderne oppefra-og-ned-grafikpipelines.

Interessant teknisk trivia

  • BMP gemmer som standard billedets scanningslinjer på hovedet (nedefra og op) på grund af det matematiske kartesiske koordinatsystem, der bruges i OS/2.
  • Hvis højde-værdien i BMP-headeren indstilles til et negativt tal, afkodes billedet rigtig vej (oppefra og ned).
  • Hver scanningslinje i en BMP-fil skal udfyldes med nuller (padding) til et multiplum af 4 byte (32-bit grænsetilpasning).

Ofte stillede tekniske spørgsmål

Hvorfor er BMP-filer så store?

BMP-filer gemmer rå, ukomprimerede farveværdier for hver eneste pixel, hvorimod formater som PNG komprimerer disse data uden at miste nogen kvalitet.

Kan BMP understøtte transparens?

Ja. 32-bit BMP-filer (ved brug af BITMAPV3HEADER eller nyere) kan gemme en 8-bit alfatransparens, selvom understøttelsen varierer på tværs af ældre software.

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

At konvertere en BMP-fil til PNG med File2File.app reducerer typisk filstørrelsen med 60% til 85% uden tab af visuel kvalitet.