Windowsi bitmap (.bmp)

Microsoft Standard

Bitmap Image File (BMP) on Microsofti põhiline seadmest sõltumatu rastrgraafika vorming, mis salvestab tihendamata või RLE-tihendusega skaneerimisjooni otsese riistvaralise kaadripuhvri ühilduvusega.

Teisenda formaadist BMP formaati PNG

Tasuta BMP -> PNG konverter brauseris. Teisenda faile koheselt oma seadmes.

Kontrolli ja metaandmed

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad BMP faile, kontrollides algset binaarset baidijada:

Vali või lohista failid siia

100% privaatne konversioon brauseris - failid ei lahku kunagi sinu seadmest

või kleebi Ctrl+V
Null-võrguülekande privaatsusgarantii: 0 baiti laaditakse üles välistesse serveritesse. Kogu töötlemine toimub lokaalselt sinu brauseri liivakastis.

Baidi-taseme päise allkiri (maagilised baidid)

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad BMP faile, kontrollides algset binaarset baidijada:

HEX-ALLKIRI (NIHE 0):

42 4D

ASCII-ESITUS: BM

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

Tehnilised andmed

Konteineri arhitektuurBITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array
TihendamineUncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding
Baitide järjekord (Endianness)Little-Endian (Intel x86 byte order)
VärviruumidDevice Dependent RGB, sRGB (BITMAPV5HEADER embedded)
Kanalid ja struktuur1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA
Max mõõtmed2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer)
Läbipaistvus32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats
Voogedastus ja progressiivsusNon-streamable; scanlines stored upside-down (bottom-up) unless height is negative

Tehniline võrdlusmaatriks: BMP vs konkurendid

Tehniline atribuutBMP (Praegune)PNGTIFFJPG
TihendusrežiimTihendamata / minimaalne RLEKadudeta Deflate (~70% väiksem)Tihendamata / LZW / ZipKadudega DCT (~90% väiksem)
Dekodeerimise kiirusHetkeline mälukoopiaNõuab Deflate dekompressiooniNõuab LZW/ZIP dekompressiooniNõuab IDCT arvutust
Skaneerimisjoonte järjestusAlt üles (pööratud)Ülalt allaÜlalt alla / ribadÜlalt alla MCU plokid
Sobivus veebileVäga halb (suured andmemahud)Suurepärane graafika jaoksHalb (lauaarvutikirjastamine)Suurepärane fotograafia jaoks

Levinud riknemisvead ja heksataaste juhend

Pilt renderdub diagonaalselt nihutatult või nurga all.

Juurpõhjus: Vale rea polsterduse arvutus (suutmatus polsterdada iga skaneerimisjoont 4-baidisele piirile).

Taastamine: Taaskodeerige File2File Image Converteri abil, et tagada õige 32-bitine skaneerimisjoone samm (stride).

Turvaanalüüs ja parsimisründevektorid

BMP dekoodrid kannatavad sageli puhvri ülelugemiste käes, kui mälu eraldatakse usaldamatute DIB päise mõõtmete põhjal.

Teadaolevad ründavektorid

  • Täisarvu ületäitumine laius * kõrgus * bpp arvutamisel, mis viib väikese mäluharu eraldamiseni ja piiridest välja kirjutamiseni.
  • Kahjustatud RLE8/RLE4 käituspikkuse paomärgid, mis põhjustavad mälu kirjutamist eraldatud puhvrist kaugemale.
  • Teenusetõkestus mitme gigabaidise mälu eraldamise kaudu, mille käivitavad valesti kujundatud päise mõõtmed.

Kaitsealased parimad tavad:

Ajalooline taust ja verstapostid

1998Windows 98 tutvustab BITMAPV5HEADER-it, lisades ICC värviprofiilide halduse ja gammakorrektsiooni.
1990Windows 3.0 standardiseerib BITMAPINFOHEADER DIB spetsifikatsiooni operatsioonisüsteemiüleselt.
1987Tutvustati Windows 2.0 ja OS/2 1.1 osana kohaliku kuva rastrvorminguna.

Peamised eelised

  • Null tihenduskadu: 100% bititäpne piksliandmete säilitamine ilma tihendusartefaktideta.
  • Universaalne operatsioonisüsteemi omatugi kõigis Windowsi, Linuxi ja macOS-i versioonides.
  • Tühine dekodeerimise keerukus teeb selle ideaalseks sisseehitatud mikrokontrolleritele ja graafikaprogrammeerimise haridusele.

Tehnilised piirangud ja puudused

  • Hirmutavalt suured failimahud kaasaegse entroopia tihenduse (nagu DEFLATE või Huffman-kooding) puudumise tõttu.
  • Ebatõhus veebi kaudu edastamiseks või mobiilsidevõrgu kaudu jagamiseks.
  • Alt ülespoole suunatud skaneerimisjoonte järjestus nõuab kaasaegsetes ülalt alla graafikatorudes vertikaalset ridade ümberpööramist.

Huvitavaid tehnilisi fakte

  • BMP salvestab pildi skaneerimisjooned vaikimisi tagurpidi (alt üles), kuna OS/2-s kasutatakse matemaatilist Descartes'i koordinaatsüsteemi.
  • Kui BMP päises olev kõrguse väärtus on seatud negatiivseks, dekodeeritakse pilt otse (ülalt alla).
  • Iga skaneerimisjoon BMP-failis peab olema nullidega polsterdatud 4 baidi kordseni (32-bitine piiri joondus).

Korduma kippuvad tehnilised küsimused

Miks on BMP failid nii suured?

BMP failid salvestavad iga üksiku pikseli tooreid ja tihendamata värviväärtusi, samas kui sellised vormingud nagu PNG tihendavad neid andmeid ilma kvaliteeti kaotamata.

Kas BMP toetab läbipaistvust?

Jah. 32-bitised BMP failid (kasutades BITMAPV3HEADER-it või uuemat) saavad salvestada 8-bitist alfakanalit, kuigi tugi vanemas tarkvaras on erinev.

Kuidas ma saan BMP faili suurust vähendada?

BMP faili teisendamine PNG-vormingusse File2File.app abil vähendab tavaliselt failisuurust 60% kuni 85% ilma visuaalse kvaliteedi kaotuseta.