Windows Bitmap (.bmp)
Microsoft StandardBitmap Image File (BMP) är Microsofts grundläggande enhetsoberoende rastergrafikformat. Det lagrar okomprimerade eller RLE-komprimerade skanningslinjer och är direkt kompatibelt med maskinvarans bildminne.
Konvertera BMP till PNG
Gratis konverterare från BMP till PNG i webbläsaren. Konvertera filer direkt på din enhet.
Granska och metadata
Operativsystem och filanalysverktyg identifierar BMP-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar BMP-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
42 4DASCII-REPRESENTATION: BM
Standardisering: Microsoft Windows-arkitektur för enhetsoberoende bitmappar (DIB)
Tekniska specifikationer
| Containerarkitektur | BITMAPFILEHEADER följt av BITMAPINFOHEADER (DIB) och rasterbildens pixelmatris |
| Komprimering | Okomprimerade råa skanningslinjer eller valfri RLE-kodning med BI_RLE8 eller BI_RLE4 |
| Byteordning | Little-endian (Intel x86-byteordning) |
| Färgrymder | Enhetsberoende RGB, Inbäddad sRGB (BITMAPV5HEADER) |
| Kanaler och struktur | 1-bitars monokrom, 4- eller 8-bitars palettfärg, 16-bitars, 24-bitars RGB eller 32-bitars RGBA |
| Maximala dimensioner | 2 147 483 647 x 2 147 483 647 pixlar (signerat 32-bitars heltal) |
| Transparens | Alfamask med 32-bitars BGRA stöds i moderna BITMAPV3HEADER- och V5HEADER-format |
| Strömning och progressiv visning | Kan inte strömmas; skanningslinjer lagras upp och ned (nedifrån och upp), om inte höjden är negativ |
Teknisk jämförelsematris: BMP jämfört med konkurrenter
| Tekniskt attribut | BMP (Aktuell) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Komprimeringsläge | Okomprimerat / minimal RLE-komprimering | Förlustfri Deflate-komprimering; filstorleksbesparingen varierar med bildinnehållet | Okomprimerat / LZW / Zip | Förlustkomprimerad DCT (cirka 90 % mindre) |
| Avkodningshastighet | Omedelbar minneskopiering | Kräver Deflate-dekompression | Kräver LZW/ZIP-dekompression | Kräver IDCT-beräkning |
| Skanningslinjeordning | Nedifrån och upp (omvänd ordning) | 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 (desktoppublicering) | Utmärkt för fotografering |
Vanliga skadeorsaker och hex-återställningsguide
Bilden ser diagonalt förskjuten eller sned ut.
Grundorsak: Felaktig beräkning av radutfyllnad. Varje skanningslinje ska fyllas ut till en 4-byte-gräns.
Återställning: Koda om med File2File.app Image Converter för att säkerställa rätt avstånd mellan 32-bitars skanningslinjer.
Säkerhetsanalys och attackvektorer för tolkar
BMP-avkodare kan läsa förbi buffertgränser när de allokerar minne utifrån mått i DIB-huvuden som inte har validerats.
Kända attackvektorer
- Heltalsspill vid beräkning av bredd x höjd x bpp kan leda till för liten heap-allokering och skrivning utanför tilldelat minne.
- Skadade RLE8/RLE4-kodsekvenser kan skriva data utanför den allokerade bufferten.
- Tjänsteavbrott till följd av att manipulerade mått i headern utlöser minnesallokering på flera gigabyte.
Rekommenderade skyddsåtgärder: Kontrollera noga att DIB-headerns bredd, höjd och bitdjup ligger inom tillåtna gränser innan minne för bilden allokeras.
Historiskt ursprung och milstolpar
Viktiga fördelar
- Ingen komprimeringsförsämring: 100 % bit-exakt lagring av pixlar utan komprimeringsartefakter.
- Windows har en inbyggd BMP-kodek, medan stöd i andra operativsystem och program varierar.
- Enkel avkodning gör formatet lämpligt för inbyggda mikrokontroller och undervisning i grafikprogrammering.
Tekniska begränsningar
- Enorma filstorlekar på grund av avsaknad av modern entropikomprimering som DEFLATE eller Huffman-kodning.
- Ineffektivt för överföring på webben eller distribution via mobilnät.
- Skanningslinjer som lagras nedifrån och upp måste vändas vertikalt i moderna grafikflöden som läser uppifrån och ned.
Intressant teknisk kuriosa
- BMP lagrar som standard bildens skanningslinjer upp och ned (nedifrån och upp) på grund av det kartesiska koordinatsystem som användes i OS/2.
- Om BMP-headern anger höjden som 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 pixel. Format som PNG komprimerar dessa data utan kvalitetsförlust.
Kan BMP ha stöd för transparens?
Ja. 32-bitars BMP-filer med BITMAPV3HEADER eller senare kan lagra en 8-bitars alfakanal, men stöd saknas i viss äldre programvara.
Hur kan jag minska storleken på en BMP-fil?
Om du konverterar en BMP-fil till PNG kan filstorleken minska samtidigt som pixelvärdena bevaras. Resultatet beror på bildinnehållet och BMP-kodningen.
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årdvarupipelines.
Placera en BMP-skärmbild som stöds på en PDF-sida för ett ärende eller en rapport. Den här konverteringsvägen hanterar okomprimerade 24-bitars- eller 32-bitars pixlar, inte komprimerade BMP-varianter.