Graphics Device Interface (interfície de dispositiu gràfic), abreujat com GDI, és un dels tres components bàsics o subsistemes del sistema operatiu Microsoft Windows.
GDI és un estàndard de Microsoft Windows per a la representació gràfica d'objectes, així com per a la seva transmissió als perifèrics de sortida, en general una pantalla o impressora.[1]
La funció del GDI és mostrar les línies, corbes, l'obtenció de fonts de representació i la gestió de paletes.[2] Però, no és responsable per la visualització de finestres, menús i altres; aquest treball està reservat per al subsistema de l'usuari. GDI és la contrapartida del QuickDraw d'Apple.
Les capacitats més importants del GDI entre la majoria dels seus mètodes d'accés directe al maquinari probablement les seves capacitats vectorials, així com la seva capacitat d'abstracció del dispositiu de sortida. Utilitzar GDI permet recórrer a diversos dispositius (com pantalles o impressores) amb molta facilitat, i esperar-ne una molt bona reproducció en tots els casos. Aquesta capacitat és fonamental per a totes les aplicacions WYSIWYG de Microsoft Windows.
Jocs simples que no requereixen processament de gràfics com Freecell o Buscamines utilitzen GDI. No obstant això, GDI no sap produir bé animacions (cap concepte de sincronització amb el framebuffer) i no admet cap funcionalitat 3D, contràriament als API DirectX i OpenGL, les quals estan dissenyades per a exposar les característiques de maquinari 3D als programadors.
Des de Windows 95 i fins a Windows XP, GDI és en part accelerat per maquinari; actua com a intermediari entre l'aplicació i el controlador de gràfics. Sota Windows Vista, el suport de maquinari es va reduir i GDI és llavors completament produït per programari. Sota Windows 7, les aplicacions que s'executen sobre el nou motor de composició són de nou accelerades per maquinari.
Impressores GDI (també conegudes com a Winprinters, similar als Winmodems) i, en particular, les impressores làser GDI, reemplacen l'electrònica tradicional de la impressora mateixa pel programari a l'ordinador hoste.[4]
Treballen mitjançant la conversió de la imatge original en l'equip hoste en un mapa de bits enviat a la impressora. Aquest mètode té una sola avantatge:
Els desavantatges són:
La majoria de les impressores d'injecció de tinta recents funcionen basades en GDI (principalment per motius de rendiment, mentre que els problemes de cost estan més vinculats a les impressores làser), però la tendència és a augmentar la flexibilitat: molts funcionen d'ara endavant sobre Mac i la comunitat Linux crea cada vegada més controladors compatibles.[5]
GDI+ és una nova API introduïda amb Windows XP i Windows Server 2003.[6] Es tracta d'una API oferint funcionalitats de nivell més alt que GDI i una millor qualitat de representació. GDI+ és en part basat en GDI, del qual utilitza certes funcions.
A tall d'exemple, i no exhaustivament, GDI+ suporta: una pantalla anti-àlies, traçat de formes vectorials simples, suport de gradients, suport dels formats PNG i JPEG, així com la gestió de transformacions afins 2D.
A pesar de la seva potència, GDI+ és enterament en programari, no aprofitant de qualsevol acceleració de maquinari, a diferència de GDI, que és en part accelerat per maquinari.