Windows Bitmap (.bmp)
Microsoft StandardnoBitmap Image File (BMP) je Microsoftov osnovni uređajno-nezavisni rasterski grafički format, koji skladišti nekompresovane ili RLE-kompresovane linije skeniranja sa direktnom kompatibilnošću sa hardverskim baferom kadrova.
Конвертујте BMP у PNG
Бесплатан BMP у PNG конвертор у прегледачу. Конвертујте фајлове тренутно без слања на сервер уз 100% приватност.
Pregledaj i metapodaci
Operativni sistemi i analizatori datoteka identifikuju BMP datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (Magic Bytes)
Operativni sistemi i analizatori datoteka identifikuju BMP datoteke proverom početnog binarnog niza bajtova:
HEX POTPIS (OFFSET 0):
42 4DASCII REPREZENTACIJA: BM
Standardizacija: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Tehničke specifikacije
| Arhitektura kontejnera | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Kompresija | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Bajtni redosled (Endianness) | Little-Endian (Intel x86 byte order) |
| Prostori boja | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Kanali i struktura | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Maksimalne dimenzije | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Transparentnost | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Strimovanje i progresivno učitavanje | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Tehnička matrica poređenja: BMP vs Konkurenti
| Tehnički atribut | BMP (Trenutno) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Režim kompresije | Nekompresovano / Minimalni RLE | Deflate bez gubitaka (~70% manji) | Nekompresovano / LZW / Zip | Sa gubicima DCT (~90% manji) |
| Brzina dekodiranja | Trenutno kopiranje u memoriju | Zahteva Deflate dekompresiju | Zahteva LZW/ZIP dekompresiju | Zahteva IDCT proračun |
| Redosled linija skeniranja | Od dna ka vrhu (obrnuto) | Od vrha ka dnu | Od vrha ka dnu / Trake | Od vrha ka dnu MCU blokovi |
| Pogodnost za veb | Vrlo loše (glomazni tereti) | Odlično za grafiku | Loše (desktop izdavaštvo) | Odlično za fotografiju |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Slika se iscrtava dijagonalno iskošeno ili pod uglom.
Osnovni uzrok: Netačan proračun popunjavanja redova (neuspeh popunjavanja svake linije skeniranja do granice od 4 bajta).
Oporavak: Ponovo kodirajte koristeći File2File Image Converter da biste primenili ispravan 32-bitni korak linije skeniranja.
Bezbednosna analiza i vektori napada parsera
BMP dekoderi često pate od čitanja preko granica bafera prilikom alociranja bafera na osnovu dimenzija DIB zaglavlja kojima se ne veruje.
Poznati vektori napada
- Prelivanje celobrojne vrednosti u proračunu širina * visina * bpp što vodi do male alokacije hipa i upisa van granica bafera.
- Oštećene RLE8/RLE4 sekvence bekstva dužine niza koje uzrokuju upise u memoriju izvan alociranog bafera.
- Ukrađivanje usluge (DoS) kroz alokaciju memorije od više gigabajta pokrenutu prilagođenim dimenzijama zaglavlja.
Defanzivne najbolje prakse:
Istorijat i prekretnice
Ključne prednosti
- Nulta degradacija kompresije: 100% bit-egzaktno skladištenje piksela bez ikakvih artefakata kompresije.
- Univerzalna izvorna podrška operativnog sistema na svim verzijama Windows-a, Linux-a i macOS-a.
- Trivijalna složenost dekodiranja čini ga idealnim za ugrađene mikrokontrolere i edukaciju iz programiranja grafike.
Tehnička ograničenja i nedostaci
- Ogromne veličine datoteka zbog nedostatka moderne entropijske kompresije poput DEFLATE ili Hafmanovog kodiranja.
- Neefikasno za prenos preko veba ili distribuciju putem mobilne mreže.
- Redosled linija skeniranja odozdo nagore zahteva vertikalnu inverziju redova u modernim cevovodima grafike koji rade odozgo nadole.
Zanimljivosti
- BMP podrazumevano čuva linije skeniranja slike naopako (od dna ka vrhu) zbog matematičkog Kartezijanskog koordinatnog sistema koji se koristi u OS/2.
- Ako je vrednost visine u BMP zaglavlju postavljena na negativan broj, slika se dekodira ispravno (od vrha ka dnu).
- Svaka linija skeniranja u BMP datoteci mora biti popunjena nulama do višekratnika od 4 bajta (poravnanje na granicu od 32 bita).
Često postavljana tehnička pitanja
Zašto su BMP datoteke toliko velike?
BMP datoteke skladište sirove, nekompresovane vrednosti boja za svaki pojedinačni piksel, dok formati poput PNG-a kompresuju te podatke bez gubitka kvaliteta.
Može li BMP da podržava providnost?
Da. 32-bitne BMP datoteke (koje koriste BITMAPV3HEADER ili novije zaglavlje) mogu da skladište 8-bitni alfa kanal, mada se podrška razlikuje u starijim softverima.
Kako mogu da smanjim veličinu BMP datoteke?
Konvertovanje BMP datoteke u PNG pomoću aplikacije File2File.app obično smanjuje veličinu datoteke za 60% do 85% bez ikakvog gubitka vizuelnog kvaliteta.
Povezani parovi konverzije za BMP
Konvertovanje nekresovanih Windows Bitmap datoteka u PNG pruža kompresiju bez gubitaka koja smanjuje veličinu datoteka bez umanjenja kvaliteta slike.
Konvertovanje kompresovane mrežne grafike u Windows Bitmap transformiše kompresovane rasterske podatke u nekresovanu mrežu piksela za nasleđene operativne sisteme i hardverske cevovode.