bmp formátum az adatok (bitmap)

Mi a bitmap

A mai leckében először a módja a fájlformátumot. Különböző formátumok vannak kialakítva, hogy különböző információkat tároljanak. Minden méret határozza meg oly módon, hogy az adatokat rendezett egy fájlban.

BMP - bitmap - a bit feltérképezése. A „display” vették át a matematika. A matematika, a kijelző nagyon közel van a koncepció funkciót. Az egyszerűség kedvéért tételezzük fel, hogy a szó bitmap - ez a kép (bár ez nem így van).

Információ BMP fájlt (bmp file header)

Minden bitmap fájl fejléc 14 bájt. Fields e fejléc:

Hozzunk létre egy 100x100 pixeles képet. Minden pixel 32 bit foglal. Fájl fejlécében fog kinézni:

Fontos megjegyzés: valójában ezek a számok vannak tárolva bájtok sorozata. Remélem, ez érthető. Itt (és ebben a példában), azt elrendezve őket egy oszlopban a könnyebb olvashatóság.

Fogjuk megérteni a második mezőben. 14 - a méret a fájl fejlécében. 40 - képméret header (hó alább), 100 * 100 - a pixelek számát. És különben is, mivel megbeszéltük, hogy minden egyes pixel fogja elfoglalni 32 bit (4 byte), a pixelek számát meg kell szorozni néggyel.

Az utolsó mező: a kép azonnal után azonnal indul a fájl fejlécében (14 byte), és a kép fejléc (40 bájt).

BMP kép adatai (header image)

Számos változat a BMP. A szoftver verzió lehet a kép méretét fejléc. Mi lesz a Windows változata a V3, ami 40 bájt. Más változatok venni 12, 64, 108, 124 bájt.

A WinAPI tároló bmp verziójú Windows V3 használt BITMAPINFOHEADER szerkezetét.

A Windows V3 fejléc mezői:

4 byte. fejléc mérete. Ez mindig be van állítva 40 bájt.
4 byte. A kép szélessége pixelben.
4 byte. A kép magassága pixelben.
2 bájt. Ez a mező mindig tartalmaz egy egységet.
2 bájt. A színmélység - a bitek száma a pixel.
4 byte. tömörítési módszer.
4 byte. méretét. Ez határozza meg a méret a kép is - anélkül, hogy figyelembe véve a méret a fejléc.
4 byte. Vízszintes felbontás képpont per méter (a pixelek száma méterenként).
4 byte. Függőleges felbontás képpont per méter (a pixelek száma méterenként).
4 byte. Színek száma a palettán.
4 byte. Számos fontos szín a palettán.

Most nézzük meg, hogyan fog kinézni a kép fejléc ebben az esetben:

A tömörítési eljárás általunk választott 0 - nincs tömörítés. Más értékek is lehetségesek. Érdeklődés: BI_JPEG (érték - 4) - alkalmazott kompressziós jpeg-képek és BI_PNG (érték - 5) - alkalmazott kompressziós png-kép.

Miután a fejléc a színpaletta. Ha ez nem áll fenn, a fejléc után azonnal kezdetét képet. Képek a paletta nem fogjuk figyelembe venni.

BMP képadatok

A kép pixelekből álló. pixel színmélységet meghatározott formában (lásd fent). A mi példánkban használt 32 bit per pixel. 32 bites színmélység általában négy csatorna: alpha (átláthatóság), piros, zöld, kék: argB (Alpha, vörös, zöld, kék). Néha alfa csatornát nem használjuk ebben az esetben a kép is elfoglalják 32 bit, egyszerű számításokat nem figyel az értéke egy csatorna. Ebben az esetben a csatorna nevek vannak írva a következő: XRGB.

Mindegyik csatorna 8 bit (1 bájt), és vehet 256 értékeket nulláról 255 (0x00 hogy 0xff).

A tárolt BMP kép sorban alulról felfelé, azaz első rögzített alsó sorban, majd a felső. Legyen: Töltse ki az egyik képet az első edzés, és folyamatosan csak a fele a vonalak a kép egy másik fájlt.

Ha 32-uhbitnoy színmélység csatornák bmp írva: BGRA. Ez ebben a sorrendben: kék, zöld, piros, alfa.

A méret adatsorban BMP kép legyen a négy többszöröse (byte-ban). Ha nem, akkor a string nullákkal töltődik. Ez akkor fordul elő, ha használják 1,2,4,8,16,24 bit csatornánként. Például, mi van a kép szélessége pixelben és 3, az általunk használt 16 bites színmélységgel. vonalvastagság: 16 * 3 = 48 (6 bájt). De a string hossza többszörösének kell lennie a négy, így két újabb bájt, a vonal hossza ebben a példában egyenlő nyolc byte. Bár az elmúlt két bájt minden egyenes és nem lesz tárolva hasznos információkat. Meg kell figyelembe venni a feltétele sokaságának négysoros mérete, ha dolgozik, nem 32 bites képeket.

Most prodolzhnim a példánkban, és segítségével hozzon létre egy kódot képet. Minden pixel indítja véletlenszerű szín:

Ennek eredményeként, a kódot a könyvtárban a projekt (ha fut a program révén a hibakereső (F5)), vagy a Debug mappában a megoldás (ha a futtatáshoz .exe fájl) temp.bmp fájl jön létre, hogy meg lehet nyitni bármely prostmotrschike képeket. A kép áll színes pontok.

Legújabb a fórumon

dimaCyberpunk → játékfejlesztés: Chronicles cyberpunk
Fokozatos rajzfilmfigura ikonok, akkor más feladatokat https:

IndieCurator → előmozdítása a Steam játékok
Tisztelt Uram! Minden magára valamit is adó fejlesztő \ kiadó, hogy kiadja a játék tudja, hogy hirdetések nélkül.

proxyan → Service PROXYAN.net - vesz egy megbízható szerver proxy, gyors HTTP / zokni
Szolgáltatás PROXYAN.net - Professzionális biztonsági megoldás a hálózat serv.

mattp → Motivált telepítés Android-alkalmazások
AppLead - Mobile Marketing Studio egy integrált támogatása Mobile App.

MaksXXX → Free slots online
Az előnye az online kaszinók mindenki számára nyilvánvaló, aki valaha is próbált játszani az interneten.

MaksXXX → engedélyezett online kaszinó
Az előnye az online kaszinók mindenki számára nyilvánvaló, aki valaha is próbált játszani az interneten.

Barátaink