Windows Bitmap (.bmp)
Microsofts 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.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer BMP-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer BMP-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
42 4DASCII-REPRESENTASJON: BM
Standardisering: Microsofts Windows-arkitektur for enhetsuavhengige punktgrafikkbilder (DIB)
Tekniske spesifikasjoner
| Beholderarkitektur | BITMAPFILEHEADER etterfulgt av BITMAPINFOHEADER (DIB) og rasterpikselmatrise |
| Komprimering | Ukomprimerte rå skannelinjer eller valgfri BI_RLE8-/BI_RLE4-koding med rekkelengder |
| Bytterekkefølge | Little-endian (Intel x86-byterekkefølge) |
| Fargerom | Enhetsavhengig RGB, sRGB (innebygd i BITMAPV5HEADER) |
| Kanaler og struktur | 1-bits monokrom, 4-/8-bits indeksert, 16-biters, 24-bits RGB eller 32-bits RGBA |
| Maks. dimensjoner | 2,147,483,647 x 2,147,483,647 piksler (signert 32-bits heltall) |
| Gjennomsiktighet | 32-bits BGRA-alfamaske støttes i nyere BITMAPV3HEADER- og V5HEADER-formater |
| Strømming og progressiv visning | Kan ikke strømmes; skannelinjene lagres opp-ned (nedenfra og opp) med mindre høyden er negativ |
Teknisk sammenligningsmatrise: BMP sammenlignet med konkurrenter
| Teknisk attributt | BMP (Gjeldende) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Komprimeringsmodus | Ukomprimert / Minimal RLE | Tapsfri Deflate-komprimering; plassbesparelsen varierer med bildeinnholdet | 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.app Image Converter for å tvinge frem korrekt 32-biters skannelinjesteg.
Sikkerhetsanalyse og angrepsvektorer mot parsere
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.
Anbefalte sikkerhetstiltak: Valider strengt DIB-topptekstens bredde-, høyde- og bitdybdegrenser før destinasjonsminnet allokeres.
Historisk opprinnelse og milepæler
Viktige fordeler
- Null komprimeringsforringelse: 100 % bitnøyaktig pikselagring uten komprimeringsartefakter.
- Windows har en innebygd BMP-kodek, mens støtte i andre operativsystemer og programmer varierer.
- 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 bildeskannelinjer 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-bits 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 mellom eldre programmer.
Hvordan kan jeg redusere størrelsen på en BMP-fil?
Konvertering av en BMP-fil til PNG kan redusere filstørrelsen samtidig som pikselverdiene bevares, men resultatet avhenger av bildeinnholdet og BMP-kodingen.
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 maskinvarekjeder.
Plasser et støttet BMP-skjermbilde på én PDF-side for en sak eller rapport. Denne konverteringen støtter ukomprimerte 24-biters eller 32-biters piksler, ikke komprimerte BMP-varianter.