GDI plus

vložil Radek Červinka 22. února 2011 22:36

Když jsem v psaní o té grafice tak nemůžu zapomenout na GDI+ pro Delphi. API konverzi je dostupná na progdigy.com zároveň spolu s cca 80 kousky kódu jako ukázka.

antialiasing

Celkem je zábavné sledovat, jak MS mění knihovny pro kreslení jako ponožky. Standardem bylo GDI. Od Windows XP to bylo GDI+ (mimochodem jediná možnost jak si zakreslit v .NET) a nyní je tu Direct2D (původně jen Windows 7, pak i Vista). Direct2D je velmi hardwarově akcelerované (používá DirectX). Proti klasickým DirectX aplikacím umožňuje Direct2D míchat normální (GDI) zobrazení a nové v jednom okně.

Delphi v základu používá GDI, které je zapouzdřeno přes TCanvas atd. Od Delphi 2010 je přidána TDirect2DCanvas právě pro podporu Direct2D (viz. uvedený článek). Je to moc pěkné, ale bohužel právě jen pro Vista+.

V takovém případě je možné použít GDI+ (které se přes jednu DLL dá rozběhnout i na Windows 2000). Tato knihovna nemá všechny výhody Direct2D, ale něco za něco.

texture

Nakreslení elipsy texturou.

var
  graphics : TGPGraphics;
  pen: TGPPen;
  image: TGPImage;
  Brush: TGPTextureBrush;
begin
  graphics := TGPGraphics.Create(DC);
  image := TGPImage.Create('..\..\Media\Texture1.jpg');
  Brush := TGPTextureBrush.Create(image);
  Pen := TGPPen.Create(Brush, 30);
  graphics.DrawImage(image, 0, 0, image.GetWidth, image.GetHeight);
  graphics.DrawEllipse(Pen, 100, 20, 200, 100);
  pen.Free;
  image.Free;
  Brush.Free;
  graphics.Free;

Jak říkám, je to možnost.

Homepage: progdigy.com - opensource včetně dem


Nabízíme Delphi školení na různá témata, primárně ve Vaší firmě.

Tagy: , ,

Komponenty

Komentáře

4.4.2013 21:12:28 #

Daniel Andraščík

Stranka progdigy.com mi aktualne moc neodpoveda. Ale existuje dalsi projekt tu: http://www.bilsen.com/gdiplus/index.shtml . Podporuje D2009+ a takisto aj GDI+ specifikaciu verzie 1.1 ktora je vsak podporovana len pod Win Vista+ a je nutne ju zapnut direktivou "GDIP_0110".

Uzasne je vsak vytvorene demo, ktore sluzi zaroven ako help s popisom mnozstva featuriek ktore GDI+ pouziva. Je prilozene aj zkompilovane, a je lepsie ako sto helpov...

Daniel Andraščík

4.4.2013 22:11:36 #

radekc

API z progdigy je součástí novějších Delphi (myslím od 2010) a to autora tak naštvalo, že celé progdigy smazal - myslím si o něm svoje.

radekc

9.4.2013 16:25:06 #

Daniel Andraščík

:)))) to fakt?! ved to by mala byt pre neho pocta...

Daniel Andraščík

Komentování ukončeno

Naše nabídka

Partial English version.

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy nebo burzy práce).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64 , Mac OSX a na iPhone a Android (s výhledem na další platformy díky FireMonkey) na současném trhu (včetně Windows 8.1).

V současnosti je světová komunita přes dva miliónů vývojářů.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Anketa

Poslední komentáře

Comment RSS