Windowsi bitmap (.bmp)
Microsoft StandardBitmap 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:
Baidi-taseme päise allkiri (maagilised baidid)
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad BMP faile, kontrollides algset binaarset baidijada:
HEX-ALLKIRI (NIHE 0):
42 4DASCII-ESITUS: BM
Standardiseerimine: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Tehnilised andmed
| Konteineri arhitektuur | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Tihendamine | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Baitide järjekord (Endianness) | Little-Endian (Intel x86 byte order) |
| Värviruumid | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Kanalid ja struktuur | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Max mõõtmed | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Läbipaistvus | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Voogedastus ja progressiivsus | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Tehniline võrdlusmaatriks: BMP vs konkurendid
| Tehniline atribuut | BMP (Praegune) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Tihendusrežiim | Tihendamata / minimaalne RLE | Kadudeta Deflate (~70% väiksem) | Tihendamata / LZW / Zip | Kadudega DCT (~90% väiksem) |
| Dekodeerimise kiirus | Hetkeline mälukoopia | Nõuab Deflate dekompressiooni | Nõuab LZW/ZIP dekompressiooni | Nõuab IDCT arvutust |
| Skaneerimisjoonte järjestus | Alt üles (pööratud) | Ülalt alla | Ülalt alla / ribad | Ülalt alla MCU plokid |
| Sobivus veebile | Väga halb (suured andmemahud) | Suurepärane graafika jaoks | Halb (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
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.
Seotud BMP teisenduspaarid
Tihendamata Windowsi bitmap-failide teisendamine PNG-vormingusse tagab kadudeta tihendamise, mis vähendab failimahtu pildikvaliteeti ohverdamata.
Teisendage kaasaskantava võrgugraafika (PNG) tihendatud rasterandmed pärandoperatsioonisüsteemide ja riistvaratorude jaoks tihendamata pikslivõrguks.