BMP

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Tento článek pojednává o počítačovém formátu. Další významy jsou uvedeny v článku BMP (rozcestník).
Windows Bitmap
Přípona souboru .bmp, .dib
Typ internetového média image/bmp, image/x-bmp
Otevřený formát? ne

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

Historie[editovat | editovat zdroj]

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í[editovat | editovat zdroj]

Výhodou tohoto formátu je jeho extrémní jednoduchost a dobrá dokumentovanost a ž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).

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[editovat | editovat zdroj]

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éno Microsoft Windows Bitmap
Rovněž znám jako BMP, DIB, Windows Bitmap, Windows DIB
Typ Bitmapa
Barevná paleta Mono, 4bitová, 8bitová, 24bitová
Komprese RLE, nekomprimováno
Max. velikost předlohy 64Ki × 64Ki pixelů
Číselný formát little-endian
Původce Microsoft Corporation
Platforma Intelovská PC 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[editovat | editovat zdroj]

  • 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 byte, paletu (proměnná délka) a bitmapu. Pouze paleta je volitelná.

Palety[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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 je 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[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]