Grafikus eszköz interfész
A Graphics Device Interface ( GDI ) a Microsoft Windows három felhasználói felület -összetevőjének vagy alrendszerének egyike. Együtt működik a Windows kernellel és API -val .
Ez az alkalmazásprogramozási felület felelős a kimeneti eszközök, például monitorok vagy nyomtatók grafikus vezérléséért .
A leggyakoribb GDI feladatok a következők:
- vonalak, görbék, sokszögek rajzolása;
- dobozok, körök, sokszögek stb. kitöltése;
- Felelős a betűtípusok és szövegek megjelenítéséért is ,
- raklapkezelés . _
A GDI nem gondoskodik a menük, ablakok stb. rajzolásáról, mivel ez egy speciális feladat számára ( csak ezekre a funkciókra
user32.dllegy Windows API könyvtár ).
A GDI talán legjelentősebb képessége a hardverhez való közvetlenebb hozzáférési módszerekkel szemben a kimeneti eszközökkel elérhető skálázhatóság és absztrakció. A GDI használatával nagyon könnyű rajzolni különféle eszközökön, például a képernyőn vagy a nyomtatón. Ez a képesség a Microsoft Windows WYSIWYG elsődleges célja.
A legtöbb egyszerű videojáték létrehozható GDI használatával. Azonban nem elég erős összetett videojátékok létrehozásához, mivel nincs szinkronizálva a framebufferrel (az animációkért felelős), és nyilvánvalóan képtelen 3D modelleket és objektumokat renderelni. A modern videojátékok DirectX -et vagy OpenGL -t használnak , amelyek megoldják ezeket a problémákat.
A legfontosabb tárgyak a következők:
- HDC ( Handle to Device Context , "eszközkörnyezet"): ez az a vászon, amelyre fest.
- HBRUSH ( Handle to Brush , "ecset"): lehetővé teszi a területek színekkel való kitöltését.
- HPEN ( Handle to Pen , „toll”): amely lehetővé teszi más grafikai elemek vonalainak vagy szegélyeinek megrajzolását.
A munkamódszer a C programozási nyelvből öröklődött . Kifejezetten létre kell hoznia és meg kell semmisítenie a rajzelemeket, így nagyon hajlamos a memóriaszivárgásra .
A Microsoft ezt a rajzrendszert egy teljesen más C++ alapú GDI+ rajzrendszerrel egészítette ki, amely a Windows XP és a Windows Server 2003 óta minden operációs rendszer verziójában megtalálható. [ 1 ] [ 2 ]
A rendszereket később a GDI és a GDI+ helyettesítésére tervezték: Direct2D és DirectWrite, amelyek a Windows 7 és a Windows Server 2008 óta elérhetők.