Windows Bitmap (.bmp)

Microsoft Standardno

Bitmap 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:

Изаберите или превуците датотеке овде

100% приватна конверзија у прегледачу – датотеке никада не напуштају ваш уређај

или налепите Ctrl+V
100% Локална обрада у прегледачу 0 бајтова послато спољним серверима. Сва обрада је извршена локално у безбедном окружењу вашег прегледача.

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

ASCII REPREZENTACIJA: BM

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

Tehničke specifikacije

Arhitektura kontejneraBITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array
KompresijaUncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding
Bajtni redosled (Endianness)Little-Endian (Intel x86 byte order)
Prostori bojaDevice Dependent RGB, sRGB (BITMAPV5HEADER embedded)
Kanali i struktura1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA
Maksimalne dimenzije2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer)
Transparentnost32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats
Strimovanje i progresivno učitavanjeNon-streamable; scanlines stored upside-down (bottom-up) unless height is negative

Tehnička matrica poređenja: BMP vs Konkurenti

Tehnički atributBMP (Trenutno)PNGTIFFJPG
Režim kompresijeNekompresovano / Minimalni RLEDeflate bez gubitaka (~70% manji)Nekompresovano / LZW / ZipSa gubicima DCT (~90% manji)
Brzina dekodiranjaTrenutno kopiranje u memorijuZahteva Deflate dekompresijuZahteva LZW/ZIP dekompresijuZahteva IDCT proračun
Redosled linija skeniranjaOd dna ka vrhu (obrnuto)Od vrha ka dnuOd vrha ka dnu / TrakeOd vrha ka dnu MCU blokovi
Pogodnost za vebVrlo loše (glomazni tereti)Odlično za grafikuLoš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

1998Windows 98 predstavlja BITMAPV5HEADER, dodajući upravljanje ICC profilima boja i korekciju gama vrednosti.
1990Windows 3.0 standardizuje BITMAPINFOHEADER DIB specifikaciju širom operativnog sistema.
1987Predstavljen uz Windows 2.0 i OS/2 1.1 kao izvorni format prikaza rastera.

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.