Grafische apparaatinterface
Graphics Device Interface ( GDI ) is een van de drie componenten of subsystemen van de gebruikersinterface van Microsoft Windows . Het werkt samen met de Windows -kernel en API .
Deze applicatie-programmeerinterface is verantwoordelijk voor de grafische besturing van uitvoerapparaten, zoals monitoren of printers .
De meest voorkomende GDI-taken zijn:
- het tekenen van lijnen, krommen, veelhoeken;
- het vullen van dozen, cirkels, polygonen, enz.;
- Het is ook verantwoordelijk voor het renderen van lettertypen en teksten, en,
- palletbehandeling . _
GDI zorgt niet voor het tekenen van menu's, vensters, enz., daar dit een speciale taak voor is user32.dll(een Windows API- bibliotheek exclusief voor deze functies).
Misschien wel het belangrijkste vermogen van GDI ten opzichte van meer directe methoden voor toegang tot hardware, is de schaalbaarheid en abstractie die kan worden bereikt met uitvoerapparaten. Met GDI is het heel eenvoudig om op verschillende apparaten te tekenen, zoals op het scherm of op een printer. Deze mogelijkheid is het primaire doel van Microsoft Windows WYSIWYG .
De meeste eenvoudige videogames kunnen worden gemaakt met GDI. Het is echter niet krachtig genoeg voor het maken van complexe videogames vanwege het gebrek aan synchronisatie met de framebuffer (die verantwoordelijk is voor animaties) en het duidelijke onvermogen om 3D-modellen en objecten weer te geven. Moderne videogames gebruiken DirectX of OpenGL om deze problemen op te lossen.
De belangrijkste objecten zijn:
- HDC ( Handle to Device Context , "apparaatcontext"): dit is het canvas waarop u schildert.
- HBRUSH ( Handvat naar penseel , "penseel"): hiermee kunt u gebieden met kleuren vullen.
- HPEN ( Handle to Pen , "pen"): waarmee u lijnen of randen van andere grafische elementen kunt tekenen.
De manier van werken is overgenomen van de programmeertaal C. Je moet tekenelementen expliciet maken en vernietigen, dus het is erg vatbaar voor geheugenlekken .
Microsoft heeft dit tekensysteem aangevuld met een geheel ander op C++ gebaseerd tekensysteem, GDI+ genaamd , dat sinds Windows XP en Windows Server 2003 in alle versies van zijn besturingssystemen is opgenomen. [ 1 ] [ 2 ]
Systemen zijn vervolgens ontworpen om GDI en GDI+ te vervangen: Direct2D en DirectWrite, beschikbaar sinds Windows 7 en Windows Server 2008.