• Nem Talált Eredményt

A grakus szoftver

In document 1.1. A számítógépes graka célja (Pldal 99-104)

A SZÁMÍTÓGÉPES GRAFIKA ALAPJAI

2.1. A grakus hardver és szoftver

2.1.2. A grakus szoftver

A grakus szoftverek interaktív alkalmazások, a felhasználó a grakus be-viteli eszközök segítségével avatkoznak be a szoftver m¶ködésébe, adatokat, utasításokat közölnek, eseményeket váltanak ki. A beviteli eszközöket az operá-ciós rendszer illeszti az alkalmazáshoz. Az eredmények és az eseményekre való reakciók hatása a képerny®n jelenik meg.

2.5. ábra. A grakus szoftver vázlatos felépítése

2.1.2.1. Állományformátumok

A beviteli eszközökön kívül grakus adatok lehetnek különböz® háttértáro-lókon (merevlemez, optikai lemezek, hajlékony lemezek stb.) is, ezek többnyire képeket vagy koordináta-, vertexinformációkat tárolnak.

A képek min®sége a felbontáson kívül nagymértékben függ a felhasznált színek számától is. De minél több színt tartalmaz egy kép, annál több informáci-óra van szükség a tárolásához, ami néha gondot jelenthet. Így van ez a felbontás esetén is. Választanunk kell tehát a jó min®ség és a kis helyfoglalás között, ezért ajánlatos egyfajta középutat keresnünk.

Négy alapvet® színmód létezik:

feketefehér (monochrome), szürkeárnyalatos (grayscale), palettás (indexed color), valódi színezet¶ (TrueColor).

A fekete-fehér képek minden pontja két értéket vehet fel: 1-est (fekete) vagy 0-t (fehér). Így bármely pixel tárolására elegend® 1 bit. A szürkeárnyalatos képek, amint a nevük is sugallja, a szürke szín 8 biten tárolt 256 különböz®

árnyalatának az ábrázolására képesek, ami gyakorlatilag a fekete-fehér fénykép-nek felel meg. A palettás (színindex módú) képek egy 256 elem¶ táblázatot (palettát) tartalmaznak, amelyben a különböz® színek számkódjai szerepelnek, így minden pixel esetében csak azt kell tárolni, hogy az ® színe a paletta há-nyadik elemének felel meg (8 bit). Ez a színmód nagyon elterjedt (például az interneten), mert segítségével színes képeket viszonylag kis tárkapacitással is elmenthetünk. A valódi színezet¶ képek 24 biten tárolják az egyes képpontok színét, ezáltal 16,7 millió különböz® árnyalatot ábrázolhatnak, ami már tökéle-tes színátmenetet jelent az emberi szem számára.

Meggyelhettük, hogy míg a fekete-fehér képek ábrázolására elegend® volt képpontonként 1 bit, addig a valódi színezet¶ képek 24-szer több helyet igé-nyelnek. Ezért ajánlatos azt a legkisebb típust választani, amelyik még éppen megfelel.

Szerencsére van más megoldásunk is. A gyakorlatban számos olyan ma-tematikai algoritmus létezik, amellyel jelent®sen csökkenthetjük grakus állo-mányaink méretét. Ezeket az eljárásokat nevezzük tömörítésnek. A tömörítés mértéke függ az állomány tartalmától is: minél részletgazdagabb a kép, annál nehezebb a tömörítés.

Két tömörítési fajta ismert: a veszteség nélküli és a veszteséges.

Veszteség nélküli tömörítés esetén az állomány mérete lecsökken, de az ere-deti kép bármikor tökéletesen visszanyerhet®. Ez az eljárás 10% és 80% közötti tömörítésre képes. A veszteséges tömörítés kihasználja az emberi szem tökélet-lenségét, és azonosnak tekinti az egyes közeli vagy alig különböz® színeket, így hatékonysága elérheti a 95%-ot. Az ilyen eljárásoknál megadhatjuk a veszteség mértékét, azaz választhatunk a legjobb min®ség (leggyengébb tömörítés) és a leggyengébb min®ség (legjobb tömörítés) között.

Az egyes cégek igényeiknek megfelel®en saját képformátumokat dolgoz-tak ki. Az ilyen állományok általában tartalmaznak egy fejlécet (a formátum, szín, méret, paletta stb. tárolására) és magát a képet pixeles, vektoros vagy me-taállomány formájában. A meme-taállományban egy id®ben tárolhatók pixeles és vektoros grakák is. A legelterjedtebb formátumok a következ®k [4]:

BMP (Windows Bitmap és RLE) A BMP formátumot a Microsoft fejlesztet-te ki. A Windows bels® pixeles képformátuma, amelyet szinfejlesztet-te minden Windows alatt futó program képes értelmezni. Az összes színmódot támogatja, s®t a 4 és 8 bites képek esetében RLE tömörítésre is lehet®ségünk van. Nyomdai haszná-latra nem alkalmas, mivel a CMYK-színmodellt nem ismeri, csak a vonalast, szürkeárnyalatost, palettást és RGB-t.

CompuServe GIF (Graphic Interchange Format) A CompuServe által ki-fejlesztett GIF kifejezetten az internet számára készült 8 bites formátum, azaz legfeljebb 256 szín megjelenítésére képes. Palettás kép, ezért támogatja a vonalas és a szürkeárnyalatos színmódokat is. Veszteségmentes tömörítési algoritmusá-nak (LZW) köszönhet®en alkalmas hálózati felhasználásra. El®nye, hogy egy kiválasztott szín segítségével a kép egyes részei átlátszóvá tehet®k (így képünk látszólag nem csak téglalap alakú lehet). Alkalmas váltottsoros megjelenítésre, valamint animációk tárolására is. A váltottsoros (interlaced) kirajzolásnál el®bb a kép minden nyolcadik sora jelenik meg, majd ezt nomítja folyamatosan a megjelenít®. Ez a módszer sokkal gyorsabb, mert a felhasználó már a betöl-téskor dönthet, hogy végigvárja-e vagy továbblép. A GIF-et kis helyigénye és hasznos szolgáltatásai tették népszer¶vé. GIF animációkat állóképek összet¶zé-sével készíthetünk, amelyek megjelenítésére ma már a legtöbb böngész® képes hátrányuk, hogy sok helyet igényelnek.

JPEG (Joint Photographic Experts Group) A JPEG (JPG) napjainkban az egyik legelterjedtebb formátum, f®leg fényképek tárolására használják. A szürkeárnyalatostól a TrueColor-ig minden modellt támogat. A JPEG tömörí-tés veszteséges, de sokkal hatékonyabb, mint a GIF képek s¶rítömörí-tése. Beállíthatjuk a tömörítés mértéket, ami fordítottan arányos a min®séggel. Az alkalmazott színmodell szürkeárnyalatos, RGB vagy CMYK lehet, ezért a nyomdákban is használható. Népszer¶ségét az is igazolja, hogy kezdi kiszorítani a világhálón eddig egyeduralkodó GIF állományokat. Bitek száma pixelenként: 8 vagy 24.

Adobe Photoshop Az Adobe Photoshop képfeldolgozó program saját ál-lományformátuma (PSD), amely egyesíti az el®bbiek összes tulajdonságait. A PSD állományokban lehet®ség van több réteg tárolásara, illetve a beállítások mentésére, így a kés®bbi módosítások során munkánkat ott folytathatjuk, ahol abbahagytuk. A formátum a rétegeken kívül egy összetett képet is tartalmaz, amelyet a f®leg más programokkal való gyors megtekintésnél használ. Hát-ránya, hogy nem alkalmaz semmilyen tömörítést, így mérete a több réteg miatt lényegesen megn®het. Ismeri a fekete-fehér, szürke árnyalatos, palettás, dup-lex, RGB, CIELAB, CMYK, 16 bit/csatorna színmodelleket; 1, 4, 8 és 24 bites színmódokat tud.

Acrobat PDF (Portable Document Format) A PDF az Adobe cég ter-méke, amelyet els®sorban az Acrobat Reader program használ. Népszer¶ségét annak köszönheti, hogy egyszerre képes kezelni a pixeles és a vektoros ké-peket is (tehát metaállomány). Többféle tömörítési algoritmust használ (LZW, JPEG, ZIP, CCITT, RLE), mindig az adatok típusának megfelel® módszer sze-rint. Másképp fogalmazva: különböz®képpen tömöríti a képeket, a szövegeket és egyéb információkat, így egyrészt hatékonyabbá teszi a tömörítést, másrészt pedig szétválasztja az egyes objektumokat. Ezért szkennelt oldalak szövegeihez akár hivatkozást (linket) is rendelhetünk. Nyomdai munkálatokra kit¶n®en al-kalmas, és népszer¶ az elektronikus sajtóban is. Ismeri a fekete-fehér, szürke árnyalatos, palettás, RGB, CIELAB, CMYK színmodelleket; 1, 4, 8 és 24 bites színmódokat tud.

PNG (Portable Network Graphics) Képek tárolására, veszteségmentes tö-mörítésére alkalmas állományformátum. A PNG egy viszonylag atal állomány-formátum, a GIF utódaként emlegetik. Els®sorban a számítógépes hálózatokban lév® képek átvitelére szolgál. Tömörítésre egy deation nev¶ algoritmust (az LZ77 egy módosított változatát) használ. A PNG számos el®nnyel rendelkezik a GIF-hez képest: alfa-csatornákat használ (RGBA színmodell), amelyek a foko-zatosan átlátszó képeket teszik lehet®vé; γ-korrekciót használ, amely a képek fényességét (elméletben) függetleníteni tudja a megjelenítést®l (tehát a színek ugyanúgy néznek ki nyomtatásban és eltér® képesség¶ kijelz®kön); egyik újdon-sága a képek fokozatos megjelenítésének módja (Adam-7), amely lehet®vé teszi, hogy lassú átvitel vagy nagy méret¶ kép esetén már a letöltés elején látni lehes-sen elnagyoltan (kis felbontásban) a kép tartalmát, ez a letöltés el®rehaladtával fokozatosan nyeri el részletgazdagságát. A GIF-hez képest viszont hátránya,

hogy nem támogatja a több képet tartalmazó állományokat, s így az animációt sem. 1, 4, 8, 24, 32 és 48 bites színmódokat támogat.

2.1.2.2. A BMP állományformátum

A BMP állományok három vagy paletta használatának esetén négy el-különíthet® részb®l állnak:

Állományfejléc: az állományra vonatkozó alapvet® adatokat tárolja.

Információs fejléc: az eltárolt kép jellemz®it írja le (felbontás, színmély-ség stb.)

Paletta (ha van): az eltárolt kép által használt színek RGB kódjait sorolja Bittérkép: a kép tényleges tárolási helye, ahol képpontról képpontrafel.

jegyzik fel azok színeit, vagy paletta esetében a paletta indexét.

Az állományfejléc 14 byte hosszon tárolja a következ® adatokat:

0-tól 2 byte-on a szignatúra. A képkezel® alkalmazások ezen két byte alapján azonosítják be a BMP formátumot. Az els® byte-on a B (66), a másodikon az M (77) ASCII-kódját helyezik el.

2-t®l 4 byte-on az állomány mérete byte-okban.

6-tól 4 byte szabad terület. Az egyes képszerkeszt®, illetve generáló szoft-verek saját bejegyzésüket helyezhetik el ide.

10-t®l 4 byte-on a bittérkép kezd®címe, amely megadja, hogy hányadik byte-tól kezd®dik a bittérkép leírása az állományon belül (az els® byte sorszáma a 0-s). Ha nincs paletta, ez mindig 54.

Az információs fejléc 40 byte hosszon tárolja a következ® adatokat:

14-t®l 4 byte: információs fejléc mérete, ez mindig 40.

18-tól 4 byte-on a kép szélessége (pixelben).

22-t®l 4 byte-on a kép magassága (pixelben).

26-tól 2 byte-on a használt színsíkok, ez mindig 1.

28-tól 2 byte-on a színmélység, amely megadja, hogy a bittérképben hány bit vonatkozik egyetlen képpont színére. Jellemz® értékei: 1 (1 bites színindexek, két 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); 32 (32 bites mód).

30-tól 4 byte-on a bittérképen alkalmazott tömörítés típusa: 0 nincs 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), 3 a 16 és 32 bites módban a bitme-z® (biteld), 4 a bittérkép JPEG adatot tartalmaz, 5 a bittérkép PNG adatot tartalmaz.

34-t®l 4 byte-on 0, ha nincs tömörítés, különben a bittérkép mérete (byte-ban), amely nem tévesztend® össze az állomány méretével.

38-tól 4 byte-on a kép vízszintes felbontása (pixel/méterben); nyomta-tásnál praktikus érték.

42-t®l 4 byte-on a kép függ®leges felbontása (pixel/méterben).

46-tól 4 byte-on a palettában deniált színek száma (= 0, ha nincs paletta, vagy ha a paletta színeinek száma egyenl® a maximális színek számával a színindex módban).

50-t®l 4 byte-on megadja, 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 (0 az értéke, ha nincs paletta).

A palettát színindex módban használja (a színmélység legfeljebb 8 bit/pi-xel). Ekkor a deniált színek számaszor ismétl®dik a következ® 4 byte:

1 byte: kék intenzitás (B), 0255 közötti érték, 1 byte: zöld intenzitás (G), 0255 közötti érték, 1 byte: piros intenzitás (R), 0255 közötti érték,

1 byte: szabad terület (általában 0, de az egyes képszerkeszt®, generáló szoftverek saját bejegyzést helyezhetnek itt el).

A bittérkép a kép képpontjait sorfolytonosan tárolja, amely alapvet®en két-féleképpen történhet:

Ha a színmélység 8 vagy ennél 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 vagy ennél nagyobb, akkor RGB színkódokat sorol fel, és ilyenkor nincs az állományban paletta. Minden (3×8 bites) RGB színkód egy-egy képpontot ír le.

A bittérkép jellemz®i:

Az RGB számhármasokat (mind a bittérképben, mind a palettában) B, G, R sorrendben tárolja.

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 bitek-kel egészítik ki úgy, hogy minden sorhoz néggyel osztható számú byte tartozzék.

Bittérkép (.BMP állomány) beolvasására és felhasználására példát láthatunk a 4.2. (DirectX) fejezetben.

In document 1.1. A számítógépes graka célja (Pldal 99-104)