Windows Bitmap (.bmp)
Microsoft StandardBitmap 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.
Undersøk og metadata
Operativsystemer og filanalysatorer identifiserer BMP-filer ved å undersøke den innledende binære bytesekvensen:
Byte-nivå hodesignatur (Magic Bytes)
Operativsystemer og filanalysatorer identifiserer BMP-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
42 4DASCII-REPRESENTASJON: BM
Standardisering: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Tekniske spesifikasjoner
| Beholderarkitektur | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Komprimering | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Bytterekkefølge | Little-Endian (Intel x86 byte order) |
| Fargerom | 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. dimensjoner | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Gjennomsiktighet | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Strømming og progressiv | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Teknisk sammenligningsmatrise: BMP vs konkurrenter
| Teknisk attributt | BMP (Gjeldende) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Komprimeringsmodus | Ukomprimert / Minimal RLE | Tapssfri Deflate (~70 % mindre) | Ukomprimert / LZW / Zip | Tapsgivende DCT (~90 % mindre) |
| Avkodingshastighet | Øyeblikkelig minnekopi | Krever Deflate-dekomprimering | Krever LZW/ZIP-dekomprimering | Krever IDCT-beregning |
| Skannelinjerekkefølge | Bunn-til-topp (invertert) | Topp-til-bunn | Topp-til-bunn / Strips | Topp-til-bunn MCU-blokker |
| Web-egnethet | Svært dårlig (oppblåste nyttelaster) | Utmerket for grafikk | Då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 Image Converter for å tvinge frem korrekt 32-biters skannelinjesteg.
Sikkerhetsanalyse og parser-angrepsvektorer
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.
Beste praksis for forsvar:
Historisk opprinnelse og milepæler
Viktige fordeler
- Null komprimeringsforringelse: 100 % bit-eksakt piksel lagring uten komprimeringsartefakter.
- Universell og innebygd operativsystemstøtte på tvers av alle versjoner av Windows, Linux og macOS.
- 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 bilde skannelinjer 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-biters 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 på eldre programvare.
Hvordan kan jeg redusere størrelsen på en BMP-fil?
Å konvertere en BMP-fil til PNG med File2File.app reduserer vanligvis filstørrelsen med 60 % til 85 % uten tap av visuell kvalitet.
Relaterte konverteringspar for BMP
Konvertering av ukomprimerte Windows Bitmap-filer til PNG gir tapsfri komprimering som krymper filstørrelser uten å redusere bildekvaliteten.
Konvertering av Portable Network Graphics til Windows Bitmap transformerer komprimerte rasterdata til et ukomprimert pikselrutenett for eldre operativsystemer og maskinvarepipleminer.