|
A GDI (Graphic Device Interface) egy programozók által elérhető Windows API. Célja, hogy az alkalmazások számára biztosítsa a grafikus támogatást. Olyan eljárások és függvények gyűjteménye, amelyek nagyban megkönnyítik a grafikus effektusok, formázott szövegek és egyéb objektumok megjelenítését a képernyőn és a nyomtatón egyaránt. Két alapvető részből áll: Win32 GDI és kernel-mode GDI. Az előbbi az alkalmazások, utóbbi pedig a kernel módú grafikus meghajtók (az eszközmeghajtók is használhatják) számára készült. A Win32 GDI közvetlenül meghívható programból a GDI32.DLL használatával (a %systemroot%\system32 könyvtárban található), míg a kernel-mode GDI-t főleg az opercációs rendszer hívja meg a WIN32K.SYS fájlból (helye ugyanott). Mindkettő egyik oldalról kapcsolatot teremt a fizikai eszközzel a másik oldalon ezt metódusokon, tulajdonságokon és eseményeken keresztül jeleníti meg, ezért a programozó számára eszköz-független környezetet biztosít (a Windows nem is teszi lehetővé a programoknak, hogy közvetlenül elérjék az eszközöket).
Mi a GDI+ és milyen fő részekre osztható?
A GDI továbbfejlesztéseként, számos új technológiát magában foglalva megtalálható a Windows XP és Windows .NET Server (BizTalk, Commerce, Exchange, SharePoint Portal, stb.) operációs rendszerekbe beépítve és gyakorlatilag bármilyen fejlesztőkörnyezetben felhasználható. A GDIPLUS.DLL-en keresztül hívható meg. Windows XP előtti rendszerekben is használható, ehhez először a kliensgép rendszermappájába kell elhelyezni. A Microsoft ezt jogilag lehetővé teszi, sőt letölthető a honlapjukról a http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm címről vagy a www.microsoft.com oldalon a keresőbe írjuk be: GdiPlus.dll.
Három alapvető részre bontható:
2D vektor grafika:
Magában foglalja az úgynevezett rajz primitívek (vonalak, görbék, Bézier görbék, alakzatok (téglalap, kör, stb.)) készítését, a képeket leíró matematikai függvényekkel.
Bitképek kezelése:
Teljes körű a bitképek támogatása különböző színmélységben, felbontásban, formátumban. Ezenkívül a velük végzett fájlműveleteket is támogatja
Tipográfia:
Az elkészült ábrák különböző eszközökön való megjelenítésének lehetővé tétele a legjobb minőségben. Egy papíron megjelent rajz nem biztos, hogy egy képcsöves monitoron ugyanúgy néz ki, mint egy LCD kijelzőn (sőt biztos, hogy nem) vagy a nyomtatón. A GDI+ külön foglalkozik ezen problémák elhárításával.
Mennyivel tud többet a GDI+, mint az elődje?
Színátmenet támogatás:
Lineáris átmenetek készíthetők vele, amivel különböző alakzatokat lehet kitölteni. Meg kell adni a kezdő és végszíneket a köztük lévő átmenetet a GDI+ kiszámolja. Beállítható az is, hogy vízszintesen, függőlegesen, egy középpontból vagy valamelyik sarokból indulva történjen mindez.
Cardinal Splines:
Egy vonal leírható referenciapontok halmazaként. Ez annyit jelent, hogy megadunk referencia pontokat, amelyeken a vonalnak át kell mennie. A pontok közti szakaszt a GDI+ fogja felépíteni, méghozzá görbékből, mindig figyelve a következő pont utáni irányt. Ezzel a technológiával egyenletesebb, élektől mentes szakaszokat kapunk, ellentétben azzal a megoldással, amikor egyenesek kötik össze a pontokat.
Independent Path Objects:
A GDI-ben az objektumok létrejötte után a művelet befejezéséhez vezető út törlődött. A GDI+-ban nem, ezért több objektum is felépíthető az út ismételt létrehozása nélkül.
Transzformációk és mátrix objektumok:
Megjelent a mátrix objektum egy hatásos eszközt adva a különböző transzformációk könnyű és gyors elvégzéséhez. Egy objektum összekapcsolható egy mátrixszal és képernyőn a kettő összesítéséből származó eredmény jelenik meg.
Skálázható területek:
A területek (Regions) skálázhatók, elforgathatók és átalakíthatók lettek.
Alpha Blending:
A Windows 2000-ben jelent meg először ez a technológia az operációs rendszer szintjén, most a GDI+ részéről teljes támogatást kapunk, hogy beépítsük saját alkalmazásainkba. A rajzolt objektum és a háttér közötti átlátszóságot jelenti. Például kirajzolunk egy teljesen hétköznapi Windows ablakot a képernyőre, de látszik alatta az Asztal és a rajta lévő ikonok. Természetesen az átlátszóság mértéke állítható.
Több képformátum támogatása:
A GDI+ Image, Bitmap és Metafile osztályai lehetővé teszik a képek mentését, betöltését és különböző formátumokra való átalakítását. A következő képformátumok támogatásával: BMP, EMF, GIF, JPEG, EXIF, PNG, TIFF, ICON, WMF.
C# Software Online hetilapunkban gyakorlati példák, mintaprogramok találhatók a GDI+ használatáról.
|