Windows Bitmap (.bmp)
Microsoft StandardBitmap 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:
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 4DASCII-REPRÆSENTATION: BM
Standardisering: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Tekniske specifikationer
| Containerarkitektur | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Komprimering | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Bytterejsning | Little-Endian (Intel x86 byte order) |
| Farverum | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Kanaler og struktur | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Maks. dimensioner | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Gennemsigtighed | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Streaming og progressiv | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Tekniske sammenligningsmatrix: BMP vs. konkurrenter
| Teknisk attribut | BMP (Aktuel) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Komprimeringstilstand | Ukomprimeret / Minimal RLE | Tabsfri Deflate (~70 % mindre) | Ukomprimeret / LZW / Zip | Tabsgivende DCT (~90 % mindre) |
| Afkodningshastighed | Øjeblikkelig hukommelseskopi | Kræver Deflate-dekomprimering | Kræver LZW/ZIP-dekomprimering | Kræver IDCT-beregning |
| Scanningslinjefølge | Nedefra og op (inverteret) | Oppefra og ned | Oppefra og ned / Strips | Oppefra og ned MCU-blokke |
| Webegnethed | Meget dårlig (oppustede nyttelaster) | Fremragende til grafik | Då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
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.
Relaterede BMP konverteringspar
Konvertering af ukomprimerede Windows Bitmap-filer til PNG leverer tabsfri komprimering, der mindsker filstørrelser uden at reducere billedkvaliteten.
Konvertering af Portable Network Graphics til Windows Bitmap transformerer komprimerede rasterdata til et ukomprimeret pixelgitter til ældre operativsystemer og hardware-pipelines.