Windows Bitmap (.bmp)
Microsoft StandardnoDatoteka bitmapne slike (BMP) temeljni je Microsoftov neovisni format raster grafike koji pohranjuje nekomprimirane ili RLE komprimirane linije skeniranja s izravnom kompatibilnošću s hardverskim međuspremnikom okvira.
Pretvori BMP u PNG
Besplatni BMP u PNG pretvarač u pregledniku. Trenutno pretvorite datoteke na svom uređaju.
Pregledaj i metapodaci
Operativni sustavi i alati za analizu datoteka identificiraju BMP datoteke provjerom početnog niza binarnih bajtova:
Potpis zaglavlja na razini bajtova (Magic Bytes)
Operativni sustavi i alati za analizu datoteka identificiraju BMP datoteke provjerom početnog niza binarnih bajtova:
HEX POTPIS (POMAK 0):
42 4DASCII PRIKAZ: BM
Standardizacija: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Tehničke specifikacije
| Arhitektura spremnika | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Kompresija | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| 字节序 | 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) |
| Prozirnost | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Streaming i progresivno | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Tehnička matrica usporedbe: BMP vs Konkurencija
| Tehnički atribut | BMP (Trenutno) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Način kompresije | Nekomprimirano / Minimalni RLE | Deflate bez gubitaka (~70% manji) | Nekomprimirano / LZW / Zip | Gubitni DCT (~90% manji) |
| Brzina dekodiranja | Trenutno kopiranje memorije | Zahtijeva Deflate dekompresiju | Zahtijeva LZW/ZIP dekompresiju | Zahtijeva izračun IDCT-a |
| Redoslijed linija skeniranja | Od dna prema vrhu (obrnuto) | Od vrha prema dnu | Od vrha prema dnu / Trake | MCU blokovi od vrha prema dnu |
| Prikladnost za Web | Vrlo loše (napuhani korisni tereti) | Odlično za grafiku | Loše (stolno izdavaštvo) | Odlično za fotografiju |
Uobičajeni načini oštećenja i vodič za heksadecimalni oporavak
Slika se iscrtava ukošeno dijagonalno ili zakrivljeno pod kutom.
Temeljni uzrok: Netočan izračun dopune redaka (neuspio pokušaj popunjavanja svake linije skeniranja do granice od 4 bajta).
Oporavak: Ponovno kodirajte koristeći File2File Image Converter kako biste osigurali ispravan korak 32-bitne linije skeniranja.
Sigurnosna analiza i vektori napada na parser
BMP dekoderi često pate od prekomjernog čitanja međuspremnika prilikom dodjeljivanja međuspremnika na temelju nedefiniranih dimenzija DIB zaglavlja.
Poznati vektori napada
- Cjelobrojno prelijevanje u izračunu širina * visina * bpp što dovodi do male alokacije gomile (heap) i pisanja izvan granica.
- Oštećene RLE8/RLE4 sekvence izlaza duljine vođenja uzrokuju pisanje u memoriju izvan dodijeljenog međuspremnika.
- Ukraćivanje usluge (DoS) putem alokacije memorije od nekoliko gigabajta pokrenute izrađenim dimenzijama zaglavlja.
Najbolje obrambene prakse:
Povijesni izvori i prekretnice
Ključne prednosti
- Nulta degradacija kompresije: 100% bitno precizna pohrana piksela bez ikakvih artefakata kompresije.
- Univerzalna izvorna podrška operativnog sustava na svim verzijama sustava Windows, Linux i macOS.
- Trivialna složenost dekodiranja čini ga idealnim za ugrađene mikrokontrolere i edukaciju o računalnoj grafici.
Tehnička ograničenja i nedostaci
- Ogromne veličine datoteka zbog nedostatka moderne entropijske kompresije poput DEFLATE-a ili Huffmanovog kodiranja.
- Neučinkovito za prijenos putem Weba ili distribuciju putem mobilne mreže.
- Redoslijed linija skeniranja odozdo prema gore zahtijeva okomitu inverziju redaka u modernim cjevovodima grafike koji idu odozgo prema dolje.
Zanimljive tehničke činjenice
- BMP pohranjuje linije skeniranja slike naopako (od dna prema vrhu) prema zadanim postavkama zbog matematičkog Kartezijevog koordinatnog sustava korištenog u OS/2.
- Ako je vrijednost visine u BMP zaglavlju postavljena na negativan broj, slika se dekodira ispravnom stranom prema gore (od vrha prema dnu).
- Svaka linija skeniranja u BMP datoteci mora biti popunjena nulama do višekratnika od 4 bajta (poravnanje na 32-bitnu granicu).
Često postavljana tehnička pitanja
Zašto su BMP datoteke toliko velike?
BMP datoteke pohranjuju sirove, nekomprimirane vrijednosti boja za svaki pojedinačni piksel, dok formati poput PNG-a komprimiraju te podatke bez gubitka kvalitete.
Može li BMP podržavati prozirnost?
Da. 32-bitne BMP datoteke (koje koriste BITMAPV3HEADER ili noviji) mogu pohraniti 8-bitni alfa kanal, iako se podrška razlikuje u starijem softveru.
Kako mogu smanjiti veličinu BMP datoteke?
Pretvaranje BMP datoteke u PNG pomoću File2File.app obično smanjuje veličinu datoteke za 60% do 85% uz nula gubitaka u vizualnoj kvaliteti.
Povezani parovi konverzije za BMP
Pretvaranje nekomprimiranih Windows Bitmap datoteka u PNG pruža kompresiju bez gubitaka koja smanjuje veličinu datoteka bez smanjenja kvalitete slike.
Pretvaranje Portable Network Graphics datoteka u Windows Bitmap pretvara komprimirane rasterske podatke u nekomprimiranu mrežu piksela za naslijeđene operativne sustave i hardverske cjevovode.