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.
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.
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
Datum: 2011-02-22 21:36:00 Tagy: grafika, komponenty, open source