Windows Bitmap (.bmp)
Microsoft StandardBitmap Image File (BMP) är Microsofts grundläggande enhetsberoende rastergrafikformat, som lagrar okomprimerade eller RLE-komprimerade skanningslinjer med direkt kompatibilitet med maskinvarans bildminne.
Konvertera BMP till PNG
Gratis konverterare från BMP till PNG i webbläsaren. Konvertera filer direkt på din enhet.
Granska & Metadata
Operativsystem och filanalysverktyg identifierar BMP-filer genom att granska den inledande binära bytesekvensen:
Signatur för filhuvud på bytenivå (Magic Bytes)
Operativsystem och filanalysverktyg identifierar BMP-filer genom att granska den inledande binära bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
42 4DASCII-REPRESENTATION: BM
Standardisering: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Tekniska specifikationer
| Containerarkitektur | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Komprimering | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Bytessordinning | Little-Endian (Intel x86 byte order) |
| Färgrymder | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Kanaler och struktur | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Maximala dimensioner | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Transparens | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Strömning och progressiv | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Teknisk jämförelsematris: BMP vs konkurrenter
| Tekniskt attribut | BMP (Aktuell) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Komprimeringsläge | Okomprimerat / Minimal RLE | Förlustfri Deflate (~70 % mindre) | Okomprimerat / LZW / Zip | Förlustfylld DCT (~90 % mindre) |
| Avkodningshastighet | Omedelbar minneskopiering | Kräver Deflate-dekompression | Kräver LZW/ZIP-dekompression | Kräver IDCT-beräkning |
| Skanningslinjeordning | Nedifrån och upp (inverterad) | Uppifrån och ned | Uppifrån och ned / remsor | Uppifrån och ned MCU-block |
| Lämplighet för webben | Mycket dålig (uppblåsta nyttolaster) | Utmärkt för grafik | Dålig (desktop publishing) | Utmärkt för fotografering |
Vanliga skadeorsaker och hex-återställningsguide
Bilden återges diagonalt förskjuten eller snedställd i en vinkel.
Grundorsak: Felaktig beräkning av radutfyllnad (underlåtenhet att fylla ut varje skanningslinje till en 4-byte-gräns).
Återställning: Koda om med File2File Image Converter för att säkerställa korrekt 32-bitars skanningslinjestride.
Säkerhetsanalys och attackvektorer för tolkar
BMP-avkodare drabbas ofta av buffertläsningsfel vid allokering av buffertar baserat på icke-validerade DIB-huvuddimensioner.
Kända attackvektorer
- Heltalsspill i beräkningen bredd * höjd * bpp som leder till liten heap-allokering och skrivning utanför gränserna.
- Skadade RLE8/RLE4-körlängdssekvenser som orsakar minnesskrivningar bortom allokerad buffert.
- Tjänstenekad genom minnesallokering på flera gigabyte som utlöses av manipulerade huvuddimensioner.
Rekommenderade skyddsåtgärder:
Historiskt ursprung och milstolpar
Viktiga fördelar
- Ingen komprimeringsförsämring: 100 % bit-exakt lagring av pixlar utan komprimeringsartefakter.
- Universellt inbyggt stöd i operativsystem i alla versioner av Windows, Linux och macOS.
- Trivial avkodningskomplexitet gör det idealiskt för inbäddade mikrokontroller och utbildning inom grafikprogrammering.
Tekniska begränsningar
- Enorma filstorlekar på grund av avsaknad av modern entropikomprimering som DEFLATE eller Huffman-kodning.
- Ineffektivt för webböverföring eller distribution via mobilnätverk.
- Skanningslinjeordning nedifrån och upp kräver omvänd vertikal radordning i modern grafikpipeline uppifrån och ned.
Intressant teknisk kuriosa
- BMP lagrar bildens skanningslinjer upp och ner (nedifrån och upp) som standard på grund av det matematiska kartesiska koordinatsystemet som används i OS/2.
- Om höjden i BMP-huvudet är satt till 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 enskild pixel, medan format som PNG komprimerar dessa data utan att förlora någon kvalitet.
Kan BMP ha stöd för transparens?
Ja. 32-bitars BMP-filer (med BITMAPV3HEADER eller nyare) kan lagra en 8-bitars alfakanal, även om stödet varierar i äldre programvara.
Hur kan jag minska storleken på en BMP-fil?
Att konvertera en BMP-fil till PNG med File2File.app minskar vanligen filstorleken med 60 % till 85 % utan någon förlust av visuell kvalitet.
Relaterade konverteringspar för BMP
Konvertering av okomprimerade Windows Bitmap-filer till PNG ger förlustfri komprimering som krymper filstorlekar utan att minska bildkvaliteten.
Konvertering av Portable Network Graphics till Windows Bitmap förvandlar komprimerad rasterdata till ett okomprimerat pixelrutnät för äldre operativsystem och hårdvarupipeliner.