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