Windows Bitmap (.bmp)

Microsoft Standard

Datoteč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:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

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 4D

REPREZENTACIJA ASCII: BM

Standardizacija: Microsoft Windows Device-Independent Bitmap (DIB) Architecture

Tehnične specifikacije

Arhitektura vsebnikaBITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array
StiskanjeUncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding
Vrstni red bajtovLittle-Endian (Intel x86 byte order)
Barvni prostoriDevice Dependent RGB, sRGB (BITMAPV5HEADER embedded)
Kanali in struktura1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA
Največje dimenzije2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer)
Prosojnost32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats
Pretočno in progresivno predvajanjeNon-streamable; scanlines stored upside-down (bottom-up) unless height is negative

Tehnična primerjalna matrika: BMP proti konkurenci

Tehnični atributBMP (Trenutno)PNGTIFFJPG
Način stiskanjaNestisnjeno / Minimalni RLEBrezizgubni Deflate (~70 % manjši)Nestisnjeno / LZW / ZipIzgubni DCT (~90 % manjši)
Hitrost dekodiranjaTakojšnje kopiranje v pomnilnikZahteva dekompresijo DeflateZahteva dekompresijo LZW/ZIPZahteva izračun IDCT
Vrstni red vrsticOd spodaj navzgor (obrnjeno)Od zgoraj navzdolOd zgoraj navzdol / pasoviMCU bloki od zgoraj navzdol
Primernost za spletZelo slaba (obsežna bremena)Odlično za grafikoSlaba (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

1998Windows 98 uvaja BITMAPV5HEADER, ki dodaja upravljanje ICC barvnih profilov in popravek gama.
1990Windows 3.0 standardizira specifikacijo BITMAPINFOHEADER DIB v celotnem operacijskem sistemu.
1987Predstavljen z Windows 2.0 in OS/2 1.1 kot domači prikazni rastrski format.

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.