Windows Presentation Foundation 2D grafika
2D tvary Elementy UI stromu Stejné jako jiné ovládací prvky a elementy Mohou mít k sobě připojeny události, např. klik myši Rectangle Ellipse Polyline Polygon Path
Příklady použití <Ellipse Fill="Black" Width="10" Height="15" <Ellipse Fill="Black" Width="10" Height="15" Canvas.Left="28" Canvas.Top="28" /> Canvas.Left="28" Canvas.Top="28" /> <Ellipse Fill="Black" Width="10" Height="15" <Ellipse Fill="Black" Width="10" Height="15" Canvas.Left="62" Canvas.Top="28" /> Canvas.Left="62" Canvas.Top="28" /> <Path Stroke="Black" StrokeThickness="6" <Path Stroke="Black" StrokeThickness="6" Data="M 30,60 Q 50,90 70,60" /> Data="M 30,60 Q 50,90 70,60" /></Canvas> Tvary jsou přístupné z kódu v pozadí Změna vlastnosti se automaticky projeví na obrazovce //...kód v pozadí hlava.Width = 200;
Transformace Jakýkoli element lze transformovat Transformace nedeformuje kvalitu TransformacePředdefinované rotace, zvětšení, zkosení, posuv a obecná maticová 3D ekvivalenty Vliv na umístění tvaru LayoutTransform Prvek je nejdříve transformován a pak aplikován layout RenderTransform Layout neví o transformaci
Hit Testing Definován pro všechny kreslící elementy Bere transformace v úvahu Využívá směrování událostí (bublání) <Ellipse x:Name="hlava" Fill="Yellow" Stroke="Black" StrokeThickness="7" Width="100" Height="100" MouseLeftButtonDown="OnClick"/>
Kompozice Proces složení více tvarů nebo obrázků ve výsledný výstup WPF na rozdíl od Win32 podporuje překrývání libovolných elementů (ne pouze celých oken) průhlednost používá anti-aliasing na hranách tvarů aplikaci transformace před kompozicí
Možnosti kompozice DrawingBrush Výplň vektorovým obrázkem VisualBrush Výplň UI elementem Zjednodušuje některé triky Reflexe UI Použití jako 3D textury
Barvy A (alfa), R, G, B kanály 32 bitů na barvu (8 na kanál) není dostatečné pro technologie jako film, velké panely s kvalitním podáním barev WPF 16b na kanál Zadáváno v plovoucí řádové čárce Zadáváno v plovoucí řádové čárce (dostupná 8b reprezentace celým číslem)
Obrázky a video Podpora bitových obrázků a videa ImageMediaElement Integrace obrázků a videa do štětce Vyplnění tvarů Použití jako textura 3D povrchu Velmi silná podpora v kódu System.Windows.Media.Imaging
Visual-Layer programování Existují případy, kdy deklarativní popis ve stromu není vhodný WPF poskytuje „visual-layer“ API Vykreslování entit podle potřeby Metoda OnRender vykreslí jednotlivé entity Odlišný zůstává model překreslování Aplikace GDI+ nebo GDI32 Grafická karta Frame buffer obrazovky Windows WM_PAINT Invalidate WPF Aplikace Vizuální objekty
Video ukázka Deklarativní a programový přístup ke 2D grafice Video ukázka Deklarativní a programový přístup ke 2D grafice
Shrnutí Shrnutí Grafika dostupná deklarativně i programově Nezávislá na rozlišení Vyšší přesnost a kvalita Snaha využít výkonný hardware
Odkazy Odkazy Prezentace David Krčmář, Acad. Developer Evangelist Video David Krčmář MSDN Windows Vista Developer Center Microsoft.NET Framework Download platformy a ovládacích prvků lt.aspx lt.aspx lt.aspx Doporučení pro Windows Vista UX Další odkazy
© 2009 Microsoft Corporation.