Windows Bitmap (.bmp)
Microsoft StandardDatotečni format bitne slike (BMP) je Microsoftov osnovni rastrski grafični format, neodvisen od naprave, ki shranjuje nestisnjene ali z RLE stisnjene vrstice ter omogoča neposredno združljivost s strojnim pomnilniškim medpomnilnikom.
Pretvori BMP v PNG
Brezplačen pretvornik iz BMP v PNG v brskalniku. Pretvorite datoteke takoj v svoji napravi.
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke BMP s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke BMP s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
42 4DREPREZENTACIJA ASCII: BM
Standardizacija: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Tehnične specifikacije
| Arhitektura vsebnika | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Stiskanje | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Vrstni red bajtov | Little-Endian (Intel x86 byte order) |
| Barvni prostori | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Kanali in struktura | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Največje dimenzije | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Prosojnost | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Pretočno in progresivno predvajanje | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Tehnična primerjalna matrika: BMP proti konkurenci
| Tehnični atribut | BMP (Trenutno) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Način stiskanja | Nestisnjeno / Minimalni RLE | Brezizgubni Deflate (~70 % manjši) | Nestisnjeno / LZW / Zip | Izgubni DCT (~90 % manjši) |
| Hitrost dekodiranja | Takojšnje kopiranje v pomnilnik | Zahteva dekompresijo Deflate | Zahteva dekompresijo LZW/ZIP | Zahteva izračun IDCT |
| Vrstni red vrstic | Od spodaj navzgor (obrnjeno) | Od zgoraj navzdol | Od zgoraj navzdol / pasovi | MCU bloki od zgoraj navzdol |
| Primernost za splet | Zelo slaba (obsežna bremena) | Odlično za grafiko | Slaba (namizno založništvo) | Odlično za fotografijo |
Pogosti načini okvar in vodič za heksadecimalno obnovo
Slika je diagonalno zamaknjena ali postavljena pod kotom.
Glavni vzrok: Nepravilen izračun oblazinjenja vrstic (neuspelo oblazinjenje vsake vrstice na 4-bajtno mejo).
Sanacija: Ponovno kodirajte z uporabo pretvornika slik File2File za uveljavitev pravilnega 32-bitnega koraka vrstic.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Dekodirniki BMP pogosto trpijo zaradi prebranih pomnilniških presežkov med dodeljevanjem pomnilnika na podlagi nezaupanja vrednih dimenzij glave DIB.
Znani vektorji napada
- Celoštevilska prekoračitev v izračunu širina * višina * bpp, kar vodi do majhne dodelitve pomnilnika na kopici in pisanja izven meja.
- Pokvarjena zaporedja RLE8/RLE4 z dolžino teka, ki povzročajo pisanje v pomnilnik zunaj dodeljenega medpomnilnika.
- Zavrnitev storitve prek večgigabajtne dodelitve pomnilnika, ki jo sprožijo zlonamerno prirejene dimenzije glave.
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- Ničelna degradacija zaradi stiskanja: 100-odstotno bitno natančno shranjevanje slikovnih pik brez artefaktov stiskanja.
- Univerzalna izvorna podpora operacijskega sistema v vseh različicah Windows, Linux in macOS.
- Enostavna kompleksnost dekodiranja je idealna za vgrajene mikrokrmilnike in izobraževanje iz računalniške grafike.
Tehnične omejitve in slabosti
- Ogromne velikosti datotek zaradi pomanjkanja sodobnega stiskanja entropije, kot sta DEFLATE ali Huffmanovo kodiranje.
- Neučinkovito za spletni prenos ali distribucijo preko mobilnih omrežij.
- Vrstni red vrstic od spodaj navzgor zahteva navpično inverzijo vrstic v sodobnih grafičnih cevovodih od zgoraj navzdol.
Zanimive tehnične malenkosti
- BMP privzeto shranjuje slikovne vrstice obrnjene na glavo (od spodaj navzgor) zaradi matematičnega kartezičnega koordinatnega sistema, uporabljenega v OS/2.
- Če je vrednost višine v glavi BMP nastavljena na negativno število, se slika dekodira pravilno obrnjena (od zgoraj navzdol).
- Vsaka vrstica v datoteki BMP mora biti zapolnjena z ničlami do večkratnika 4 bajtov (poravnava na 32-bitno mejo).
Pogosta tehnična vprašanja
Zakaj so datoteke BMP tako velike?
Datoteke BMP shranjujejo surove, stisnjene barvne vrednosti za vsak posamezen pikel, medtem ko formati, kot je PNG, te podatke stisnejo brez izgube kakovosti.
Ali lahko BMP podpira prosojnost?
Da. 32-bitne datoteke BMP (z uporabo BITMAPV3HEADER ali novejših) lahko shranijo 8-bitni kanal alfa, čeprav se podpora pri starejši programski opremi razlikuje.
Kako lahko zmanjšam velikost datoteke BMP?
Pretvorba datoteke BMP v PNG s pomočjo File2File.app običajno zmanjša velikost datoteke za 60 % do 85 % brez kakršne koli izgube vizualne kakovosti.
Sorodni pari pretvorbe za BMP
Pretvarjanje nestisnjenih datotek Windows Bitmap v PNG prinaša stiskanje brez izgube, ki zmanjša velikost datotek brez zmanjšanja kakovosti slike.
Pretvarjanje datotek PNG v Windows Bitmap pretvori stisnjene rastrske podatke v nestisnjeno mrežo slikovnih pik za starejše operacijske sisteme in cevovode strojne opreme.