Grafika a multimédia

WPF (Windows Presentation Foundation) nabízí podporu multimédií, vektorové grafiky, animace a skládání obsahu, což vývojářům pomáhá vytvářet zajímavá uživatelská rozhraní a obsah. Pomocí sady Visual Studio můžete vytvářet vektorovou grafiku nebo složité animace a integrovat do svých aplikací multimédia.

Toto téma představuje funkce WPF pro grafiku, animace a multimédia, které umožňují přidávat do aplikací grafiku, přechodové efekty, zvuk a video.

Poznámka:

Používání typů WPF ve službě pro Windows se důrazně nedoporučuje. Když se pokusíte použít typy WPF ve službě pro Windows, nemusí služba fungovat podle očekávání.

Novinky v grafice a multimédiích ve WPF 4

Došlo k několika změnám souvisejícím s grafikou a animacemi.

  • Zaokrouhlování rozložení

    Když okraj objektu připadne na prostřední pixel zařízení, grafický systém nezávislý na DPI může při vykreslování vytvořit artefakty, například rozostřené nebo poloprůhledné okraje. Předchozí verze WPF pomáhaly tento problém řešit přichytáváním pixelů. Silverlight 2 zavedl zaokrouhlování rozložení, což je další způsob, jak posouvat prvky, aby okraje zůstaly na ohraničení celým pixelem. WPF teď zaokrouhlování rozložení podporuje prostřednictvím přidružené vlastnosti UseLayoutRounding v FrameworkElement.

  • Kompozice s mezipamětí

    Díky novým třídám BitmapCache a BitmapCacheBrush můžete ukládat složité části vizuálního stromu do mezipaměti jako rastrový obrázek a výrazně tak zkrátit dobu vykreslování. Rastrový obrázek bude i nadále reagovat na vstup uživatele, například klikání myší, a můžete jej vykreslit na jiné prvky jako jakýkoli štětec.

  • Podpora funkce pixel shader 3

    WPF 4 rozšiřuje podporu ShaderEffect zavedenou ve WPF 3.5 SP1, umožňuje totiž aplikacím zapisovat efekty pomocí funkce pixel shader (PS) verze 3.0. Model shaderů PS 3.0 je propracovanější než PS 2.0, díky čemuž je možné na podporovaném hardwaru vykreslovat více efektů.

  • Funkce usnadnění

    Animace je možné vylepšovat pomocí funkcí uvolnění, které umožňují podrobnější kontrolu nad chováním animací. Můžete například do animace zavést ElasticEase, aby se animace chovala podobně jako pružina. Pro další informace si prohlédněte funkce uvolnění v oboru názvů System.Windows.Media.Animation.

Grafika a vykreslování

WPF nabízí podporu vysoce kvalitní 2D grafiky. Mezi její funkce patří štětce, geometrie, obrázky, obrazce a transformace. Další informace najdete v části o grafice. Vykreslování grafického prvku se zakládá na třídě Visual. Strukturu vizuálních objektů na obrazovce popisuje vizuální strom. Další informace najdete v přehledu vykreslování grafiky ve WPF.

2D obrazce

WPF nabízí knihovnu běžně používaných vektorově vykreslovaných 2D obrazců, jako jsou obdélníky a elipsy. Znázorňuje je následující ilustrace.

Diagram showing ellipses and rectangles.

Tyto vnitřní obrazce WPF nejsou jen obrazce. Jsou to programovatelné prvky, které implementují mnoho funkcí, které byste očekávali od běžných ovládacích prvků, třeba vstup z klávesnice a myši. Následující příklad ukazuje, jak zpracovat událost MouseUp vyvolanou kliknutím na prvek Ellipse.

<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="Window1" >
  <Ellipse Fill="LightBlue" MouseUp="ellipseButton_MouseUp" />
</Window>
public partial class Window1  : Window
{
    void ellipseButton_MouseUp(object sender, MouseButtonEventArgs e)
    {
        MessageBox.Show("You clicked the ellipse!");
    }
}
Partial Public Class Window1
    Inherits Window
    Private Sub ellipseButton_MouseUp(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
        MessageBox.Show("You clicked the ellipse!")
    End Sub
End Class

Následující ilustrace znázorňuje výstup pro předchozí značky XAML a kód na pozadí.

A message box saying

Další informace najdete v přehledu obrazců a základního kreslení ve WPF. Úvodní ukázku najdete v ukázce prvků obrazců.

2D geometrie

Když nestačí 2D obrazce, které WPF poskytuje, můžete využít podporu geometrie a cest ve WPF, se kterou můžete vytvořit své vlastní obrazce. Následující ilustrace znázorňuje, jak se pomocí geometrií dají vytvořit obrazce jako kreslicí štětec a připnout jiné prvky WPF.

Screenshot showing how you can use geometries to create shapes.

Další informace najdete v přehledu geometrie. Úvodní ukázku najdete v ukázce geometrií.

2D efekty

WPF nabízí knihovnu 2D tříd, které se dají využít při vytváření různých efektů. Funkce 2D vykreslování ve WPF přináší možnost malovat prvky uživatelského rozhraní, které mají gradienty, rastrové obrázky, kresby a videa. Navíc se s nimi dá manipulovat pomocí rotace, změny měřítka a zkosení. Následující ilustrace ukazuje mnoho efektů, které se dají vytvořit pomocí štětců WPF.

Illustration showing the different WPF brushes and paint elements.

Další informace najdete v přehledu štětců WPF. Úvodní ukázku najdete v ukázce štětců.

3D vykreslování

WPF nabízí sadu funkcí pro 3D vykreslování, které se integrují s podporou 2D grafiky ve WPF a umožňují vytvořit působivější rozložení, uživatelské rozhraní a vizualizaci dat. Na jednom konci spektra WPF umožňuje vykreslovat 2D obrázky na povrchy 3D těles, jak to znázorňuje následující ilustrace.

Screenshot of a sample showing 3D shapes with different textures.

Další informace najdete v přehledu 3D grafiky. Úvodní ukázku najdete v ukázce 3D těles.

Animace

Pomocí animace můžete zvětšovat ovládací prvky, třást s nimi, otáčet je a stmívat. Vytvoříte tak zajímavé přechody stránek a další efekty. Jelikož WPF umožňuje animovat většinu vlastností, můžete nejen animovat většinu objektů WPF, ale taky můžete WPF využít k animaci vlastních objektů, které sami vytvoříte.

Screenshot of an animated cube.

Další informace najdete v přehledu animace. Úvodní ukázku najdete v galerii příkladů animací.

Médium

Obrázky, video a zvuk jsou multimediální způsoby, jak předávat informace a uživatelská prostředí.

Obrázky

Obrázky, mezi které patří ikony, pozadí, a dokonce i části animací, jsou základní součástí většiny aplikací. Vzhledem k tomu, že obrázky je zapotřebí používat často, WPF nabízí možnost pracovat s nimi různými způsoby. Následující ilustrace znázorňuje jen jeden z těchto způsobů.

Styling sample screenshot

Další informace najdete v přehledu práce s obrázky.

Video a zvuk

Základní funkce grafických možností WPF je nabízet nativní podporu práce s multimédii, mezi která patří video a zvuk. Následující příklad ukazuje, jak do aplikace vložit přehrávač multimédií.

<MediaElement Source="media\numbers.wmv" Width="450" Height="250" />

MediaElement dokáže přehrávat video i zvuk a dá se dostatečně rozšiřovat, aby bylo možné snadno vytvořit vlastní uživatelská rozhraní.

Další informace najdete v přehledu multimédií.

Viz také