BMP – (Bitmap) képek tárolására használt fájlformátum.

Angol szóösszetétel, melynek jelentése bittérkép. Ugyanerre a formátumra esetlegesen mint DIB (Device Independent Bitmap, eszközfüggetlen bittérkép) is hivatkozhatnak. Mind a két formátumot a Microsoft dolgozta ki.

A BMP fájlformátum

A BMP fájlok három – vagy ha van paletta, négy – elkülöníthető részből szerveződnek:

Fájlfejléc A fájlra vonatkozó alapvető adatokat tárolja. Információs fejléc Az eltárolt kép jellemzőit írja le (felbontás, színmélység stb.) Paletta (ha van) Az eltárolt kép által használt színek RGB kódjait sorolja fel. Bittérkép A kép tényleges tárolási helye, ahol képpontról képpontra jegyzik fel azok színeit.

Fájlfejléc (14 byte) A fejlécben tárolt számok mind növekvő bájtsorrendben (Little-endian) tárolódnak. __NOTOC__ KezdésMéretElnevezésLeírás02 byteszignatúra=19778. A képkezelő alkalmazások ezen két bájt alapján azonosítják be a BMP formátumot. Az első bájton a B (66), a második bájton az M (77) ASCII-kódját helyezik el (bitmap), és ezeknek az átváltásából adódik a 19778-as szám (66+256×77).24 bytefájlméretA fájl mérete (bájtban).64 byteszabad terület=0. Egyes képszerkesztő, illetve -előállító szoftverek saját bejegyzést helyezhetnek itt el.104 bytebittérkép kezdőcímeMegadja, hogy hányadik bájttól kezdődik a bittérkép leírása a fájlon belül (az első bájt sorszáma a 0-s). Ha nincsen paletta, ez mindig 54.

Információs fejléc (40 byte)

KezdésMéretElnevezésLeírás144 byteinformációs fejléc méreteMegadja az információs fejléc méretét (=40).184 byteszélességA kép szélessége (pixelben).224 bytemagasságA kép magassága (pixelben).262 bytemegjelenítés=1. (A kimeneti perifériára – monitor, nyomtató – vonatkozó állandó érték. Nincsen gyakorlati jelentősége.)282 byteszínmélységMegadja, hogy a bittérképben hány bit vonatkozik egyetlen képpont színére. Jellemző értékei:

1: 1 bites színindexek (kettő szín);

4: 4 bites színindexek (legfeljebb 16 szín);

8: 8 bites színindexek (legfeljebb 256 szín);

24: 24 bites RGB színkódok (TrueColor, maximálisan 16777216 szín).304 bytetömörítésA bittérképen alkalmazott tömörítés típusát jelzi.

0: nincsen tömörítés,

1: 8 bites szakaszhossz-tömörítés (RLE8),

2: 4 bites szakaszhossz-tömörítés (RLE4).

A gyakorlatban ezeket szinte soha nem használják, mert legfeljebb 10-15%-os méretcsökkenés érhető el velük.344 bytebittérkép mérete=0, ha nincsen tömörítés, különben a bittérkép mérete (bájtban).384 bytevízszintes felbontásA kép vízszintes felbontása (pixel/méter-ben); nyomtatásnál praktikus érték.424 bytefüggőleges felbontásA kép függőleges felbontása (pixel/méter-ben); nyomtatásnál praktikus érték.464 bytepaletta-színekA palettában definiált színek száma (=0, ha nincs paletta). Akkor is 0, ha a paletta színeinek száma egyenlő a maximális színek számával a színindexes formában.504 bytehasznált színekMegadja, hogy a paletta színei közül hányat használ fel a bittérkép. Szinte mindig megegyezik az előbbi értékkel. (És 0 az értéke, ha nincs paletta).

Paletta (paletta-színek×4 byte) Paletta akkor szerepel a fájlban, ha a színmélység legfeljebb 8 bit/pixel (vagyis ha a bittérkép nem RGB színkódokat, hanem színindexeket tartalmaz).

Ha van paletta, akkor a definiált színek számaszor ismétlődik a következő 4 bájt. MéretElnevezésLeírás1 bytekék intenzitás (B)0..255 közötti érték1 bytezöld intenzitás (G)0..255 közötti érték1 bytepiros intenzitás (R)0..255 közötti érték1 byteszabad terület=0. Egyes képszerkesztő, illetve -előállító szoftverek saját bejegyzést helyezhetnek itt el.

Bittérkép

A bittérkép a kép képpontjait sorfolytonosan tárolja, ami alapvetően kétféleképpen történhet.

Ha a színmélység 8, vagy nála kisebb, akkor színindexeket sorol fel, amelyek a paletta színeire mutatnak (a paletta első színe kapja a 0-s indexet). Minden színindex egy képpontot ír le.

Ha a színmélység 24 bites, akkor RGB színkódokat sorol fel, és ilyenkor nincsen a fájlban paletta. Minden (3×8 bites) RGB színkód egy-egy képpontot ír le. Bár a színindexes bittérkép csak kevesebb színt különböztethet meg, mérete jóval kisebb az RGB színkódosénál, hiszen egy képpont nem 24, csak 8, 4, 2 vagy 1 bitet foglal el (természetesen, egy bittérképen belül csak egyféle hosszúságú színindexeket használnak).

A bittérkép további jellemzői:

Az RGB számhármasokban (mind a bittérképben, mind a palettában) B; G; R a sorrend. A kép soronként lentről felfelé haladva tárolódik (vagyis a kép legalsó sora kerül a bittérkép legfelső sorába). A bittérképen belül a képnek megfelelő sorokat szükség szerint 0-s bitekkel egészítik ki úgy, hogy minden sorhoz néggyel osztható számú bájt tartozzék.

Kategória:Grafikus fájlformátumok