Graphics Device Interface

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Graphics Device Interface (zkráceně GDI či někdy nazýváno jako Graphical Device Interface) je spolu s kernelem a uživatelským rozhraním jednou ze tří hlavních součástí operačního systému Microsoft Windows. Graphics Device Interface slouží k reprezentaci grafických objektů a jejich transformací do výstupních zařízení jako jsou monitory či tiskárny. Ve Windows XP je k dispozici vylepšená verze GDI, GDI+.

GDI má na starosti úlohy jako je kreslení čar a křivek, rendrování fontů a zacházení s barevnými paletami. Není přímo zodpovědný za vykreslování oken, menu, atd. +more - to je vyhrazeno pro uživatelský subsystém, který se nachází v knihovně user32. dll a je na GDI postavený. GDI je podobný QuickDraw od Apple.

Pravděpodobně nejvýznamnější vlastností GDI, kromě metody přímého přístupu k hardware, je vlastnost Scaling a čerpání z cílového zařízení. S použitím GDI je velmi snadné kreslit a tisknout na více zařízeních, jakými jsou například obrazovka a tiskárna, a na každém, z těchto zařízení můžeme očekávat správnou reprodukci. +more Tato vlastnost je centrem celého WYSIWYGu, aplikací pro Microsoft Windows.

GDI využívají jednoduché hry, jako například FreeCell a miny, které nepotřebují rychlé vykreslování. GDI není schopno důkladně animovat a postrádá 3D vykreslování. +more Moderní hry používají DirectX nebo OpenGL, které umožňují programátorům lepší přístup k hardwarovým vlastnostem.

GDI Tiskárny

Winprinter je tiskový procesor, který používá software ke zpracování tisku namísto toho, aby ho zpracovávala tiskárna. Pracuje tak, že rendruje obrázky do bitmap na uživatelově počítači a pak je posílá do tiskárny.

To umožňuje výrobcům tiskáren vyrábět i levnější tiskárny, protože o složení celé stránky se postará software počítače a ne hardware tiskárny. Obvykle však tyto tiskárny nepodporují PostScript a používají ovladače, založené na Unidrv. +more Winprinter používá GDI k přípravě výstupu, z toho důvodu se jim také často říká GDI tiskárny. Levnější modely laserových tiskáren jsou GDI zařízení. Většina výrobců nabízí i flexibilnější modely, které mají přidanou PCL kompatibilitu, PostScript, nebo obojí. Většinou je jen velmi málo modelů, které jsou „GDI-only“.

Technické detaily

Device context (DC) je používán k definování atributů textu a obrázků, které jsou zobrazovány na obrazovce nebo tisknuty tiskárnou. Aktuální kontext udržuje GDI. +more DC, které nastavuje strukturu, je získáno před výstupem a je zapisován a uvolňován po částech, tak jak byly zapsány.

DC, jako většina GDI objektů, je nepropustný, nepřistupuje k datům přímo, můžeme je předat funkcím, které tato data zpracují, buď ke kreslení něčeho, ke zjištění informace o něčem, nebo ke změně objektu nějakým způsobem.

GDI+

S příchodem Windows XP, bylo GDI kritizováno a tak se v C++ založil nový subsystém GDI+. GDI+ má vylepšené 2D grafické prostředí, dále funkce jako 2D Anti-aliasing, koordinaci pomocí plovoucí čárky, alpha blending, gradiální stínování, komplexnější správu, podporu moderních grafických formátů jako JPEG a PNG (které v předchozí verzi GDI viditelně chyběly) a hlavně podporu pro skládání afinní transformace v 2D zobrazení. +more Užití těchto rysů je viditelné v uživatelském rozhraní Windows XP a jejich přítomnost v základní grafické vrstvě Windows XP velmi zjednodušilo implementaci vektorové grafiky (například Flash nebo SVG). Dynamická knihovna GDI+ je dodávána s spolu aplikacemi a dá se použít pod staršími verzemi Windows. GDI+ je podobné (účelem a strukturou) Apple Quartz 2D, nebo cairo.

GDI+ zranitelnost

V září roku 2004 bylo zjištěno, že GDI+ a další API grafické rozhraní nebyly chráněné před zneužitím, souviselo to s vadou v JPEG knihovně. Tato vada umožňovala případnému narušiteli spustit kód na každém systému, který zobrazil jejich JPEG obrázky nástrojem, který používal dekodér v GDI+.

GDI a GDI+ aplikace ve Windows Vista

Počínaje Windows Vista, všechny aplikace pro Windows včetně GDI a GDI+ aplikací běží v nově vytvořeném enginu a nejsou hardwarově akcelerovány. Nicméně, díky povaze složení plochy (vnitřní řízení pohybu bitmap, průhlednosti a anti-aliasingu GDI+ jsou ovládány DWM jádrem), mohou být operace jako pohyby a zvětšování oken rychlejší a mít lepší odezvu, protože podklad oken nemusí být přerendrováván.

Reference

Související články

DirectX * OpenGL * Windows Vista * Windows API

Externí odkazy

[url=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/aboutGDIPlus.asp]Oficiální stránka o Microsoft GDI+[/url]

Kategorie:Počítačová grafika Kategorie:API Microsoftu

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top