BMP

Windows Bitmap
Přípona souboru.bmp, .dib
Typ internetového médiaimage/bmp, image/x-bmp
Type code'BMP '
'BMPf'
'BMPp'
Uniform Type Identifiercom.microsoft.bmp
Otevřený formátne

BMP (Windows Bitmap) nebo také DIB (device-independent bitmap) je počítačový formát pro ukládaní rastrové grafiky.

Historie

Formát BMP byl poprvé představen v roce 1988 jako součást nového systému OS/2 verze 1.10 SE. O něco později firma Microsoft trochu rozšířila jeho definici a zahrnula ho do svého tehdy nejprodávanějšího 16bitového grafického operačního prostředí – Microsoft Windows 3.0. Na počátku roku 1992 firma IBM uvedla na trhu první 32bitový systém OS/2 verze 2.0, který obsahoval vylepšenou variantu BMP s novou strukturou pro uskladnění vícenásobných bitových map v jednom souboru. Tento typ souboru se často obecně označuje jako bitmapové pole.

Použití

Výhodou tohoto formátu je jeho extrémní jednoduchost, dobrá dokumentovanost a fakt, že jeho volné použití není znemožněno patentovou ochranou. Díky tomu jej dokáže snadno číst i zapisovat drtivá většina grafických editorů v mnoha různých operačních systémech. X Window System používá podobný formát XBM pro jednobitové černobílé obrázky a XPM pro barevné obrázky.

Obrázky BMP jsou ukládány po jednotlivých pixelech, podle toho, kolik bitů je použito pro reprezentaci každého pixelu, je možno rozlišit různé množství barev (tzv. barevná hloubka): 2 barvy (1 bit na pixel), 16 (4 bity), 256 (8 bitů), 65 536 (16 bitů), nebo 16,7 miliónů barev (24 bitů). Osmibitové obrázky mohou místo barev používat šedou škálu (256 odstínů šedi) nebo barevnou paletu (CLUT – Color LookUp Table).

Soubory ve formátu BMP většinou nepoužívají žádnou kompresi (přestože existují i varianty používající kompresi RLE – run-length encoding). Z tohoto důvodu jsou obvykle BMP soubory mnohem větší než obrázky stejného rozměru uložené ve formátech, které kompresi používají. V praxi se pro ukládání obrázků vyžadujících zachování všech informací používají spíše novější formáty PNG, GIF nebo také TIFF.

Velikost nekomprimovaného obrázku v bajtech lze přibližně vypočítat podle vzorce:

(šířka v pixelech) * (výška v pixelech) * (bitů na pixel / 8)

K velikosti obrázku je třeba ještě připočítat velikost hlavičky souboru, která se liší dle jeho verze i dle použité barevné hloubky.

Obrázek o rozměrech 800×600 pixelů a s 16,7 miliony barev (3 bajty na pixel) potřebuje téměř 1,4 megabajtu. Formát BMP je proto zcela nevhodný pro použití na Internetu.

Základní informace

V dnešní době existují 4 varianty formátu BMP. Každá varianta je spojená s příslušným OS (operační systém). V minulosti se objevily verze:

  • Microsoft Windows 1.X and 2.X
  • OS/2 1.X
  • Microsoft Windows 3.X
  • OS/2 2.X
JménoMicrosoft Windows Bitmap
Rovněž znám jakoBMP, DIB, Windows Bitmap, Windows DIB
TypBitmapa
Barevná paletaMono, 4bitová, 8bitová, 24bitová
KompreseRLE, nekomprimováno
Max. velikost předlohy64Ki × 64Ki pixelů
Číselný formátlittle-endian
PůvodceMicrosoft Corporation
PlatformaPC používající Microsoft Windows nebo Windows NT
Podpůrné aplikace(Příliš mnoho na výčet)

Zdroj: Murray J., Vanryper W. Encyklopedie grafických formátů. 2. vyd. Brno: Computer Press , 1997. 922 s. ISBN 80-7226-033-2. [cit. str. 491].

Organizace souboru

  • Formát BMP verze 1 obsahuje souborovou hlavičku (délka 16 bytů) a nekomprimovaná bitmapová data.
  • Formát BMP verze 3 obsahuje bitmapovou hlavičku (dlouhá 14 bytů a téměř identická s verzí 1), informační hlavičku (délka 40 bytů), paletu (proměnná délka) a bitmapu. Pouze paleta je volitelná.

Palety

Barevné palety se liší v souborech vytvořených pod OS/2 1.x, MS Windows a OS/2 2.0. V MS Windows verze 3 je paleta složena ze 4bytových hodnot (tzv. RGBQUAD, první tři byte jsou informace o barvě R/G/B, čtvrtý byte je vždy nastaven na 0).

První dvě barvy, které jsou definované v paletě, jsou obvykle bílá (0) a černá (1). Další barvy jsou v libovolném pořadí. Je-li v souboru obrázku uloženo méně než 16 barev, je vhodné setřídit barvy podle četnosti a umístit barvy s největším výskytem na začátek.

V některých aplikacích je možné vytvořit jednobitové obrázky, které invertují barevný smysl obrázku. Bílá je změněná na černou a černá na bílou. Je to např. u obrázků, kde jsou černé znaky na bílém pozadí. (Apple Macintosh a Microsoft Windows).

Obrazová data

Zbytek BMP souboru obsahuje vlastní bitmapová data, která mohou být nekomprimovaná nebo uložená v RLE formátu. Obrazová data v BMP souboru jsou vždy bitově orientovaná. Jak jsou následně čtena, závisí na počtu bitů na pixel a také na tom, zda jsou komprimována obrazová data nebo ne. V jednobitových obrázcích představuje každý byte osm pixelů a nejdůležitější bit v bytu (MSB) je první pixelová hodnota. 24bitové obrázky používají tří byte na pixel, uložené v pořadí modrý, zelený a červený kanál. Každá scanovací řádka je vždy násobkem čtyř byte a pokud je potřeba, je počet doplněn nulami. 1-8bitové obrázky používají palety, ale 24bitové obrázky nikdy paletu neužívají, protože jejich pixelová barevná data jsou uložena přímo v obrazových datech. Obrazová data jsou zobrazena od dolního levého rohu (pixel [0;0] je levým dolním rohem obrázku).

Související články

Externí odkazy