Grafiken und Multimedia

Windows Presentation Foundation (WPF) bietet Unterstützung für Multimedia, Vektorgrafiken, Animation und Inhaltskomposition und erleichtert Entwicklern das Erstellen interessanter Benutzeroberflächen und Inhalte. Mithilfe von Visual Studio können Sie Vektorgrafiken oder komplexe Animationen erstellen und Medien in Ihre Anwendung integrieren.

In diesem Thema werden die Grafik-, Animations- und Medienfeatures von WPF vorgestellt, mit denen Sie den Anwendungen Grafiken, Übergangseffekte, Ton und Videos hinzufügen können.

Hinweis

Es wird dringend davon abgeraten, WPF-Typen in einem Windows-Dienst zu verwenden. Wenn Sie versuchen, WPF-Typen in einem Windows-Dienst zu verwenden, funktioniert der Dienst möglicherweise nicht wie erwartet.

Neue Grafik. und Multimediafunktionen in WPF 4

Im Zusammenhang mit Grafiken und Animationen wurden mehrere Änderungen vorgenommen.

  • Layoutglättung

    Wenn ein Objektrand in die Mitte eines Pixelgeräts fällt, kann das DPI-unabhängige Grafiksystem Renderingartefakte erstellen, z.B. verschwommene oder semitransparente Ränder. Frühere Versionen der WPF haben die Pixelausrichtung für diese Fälle verwendet. Silverlight 2 hat die Layoutglättung eingeführt, die eine andere Möglichkeit bietet, um Elemente so zu verschieben, dass Ränder auf ganzen Pixelgrenzen liegen. WPF unterstützt nun die Layoutglättung mit der angefügten UseLayoutRounding-Eigenschaft auf der FrameworkElement-Klasse.

  • Zwischengespeicherte Komposition

    Mithilfe der neuen Klassen BitmapCache und BitmapCacheBrush können Sie einen komplexen Teil der visuellen Struktur als Bitmap zwischenspeichern und so die Renderingzeit erheblich verbessern. Die Bitmap reagiert weiterhin auf Benutzereingaben wie Mausklicks, und Sie können sie wie jeden Pinsel auf anderen Elementen zeichnen.

  • Unterstützung von Pixel Shader 3

    WPF 4 basiert auf der in WPF 3.5 SP1 eingeführten ShaderEffect-Unterstützung, indem Anwendungen ermöglicht wird, Effekte mithilfe von Pixel Shader Version 3.0 (PS) zu schreiben. Das PS 3.0-Shadermodell ist ausgereifter als PS 2.0 und ermöglicht noch mehr Effekte auf unterstützter Hardware.

  • Beschleunigungsfunktionen

    Sie können Animationen mit Beschleunigungsfunktionen verbessern, die Ihnen zusätzliche Kontrolle über das Verhalten von Animationen geben. Sie können beispielsweise eine ElasticEase auf eine Animation anwenden, um dieser ein Federverhalten zuzuweisen. Weitere Informationen finden Sie unter Beschleunigungstypen im System.Windows.Media.Animation-Namespace.

Grafiken und Rendering

WPF unterstützt hochwertige 2D-Grafiken. Die Funktionalität umfasst die Pinsel, Geometrien, Bilder, Formen und Transformationen. Weitere Informationen finden Sie unter Grafik. Das Rendern grafischer Elemente basiert auf der Visual-Klasse. Die Struktur von visuellen Objekten auf dem Bildschirm wird durch die visuelle Struktur beschrieben. Weitere Informationen finden Sie unter Übersicht über das WPF-Grafikenrendering.

2D-Formen

WPF enthält eine Bibliothek häufig verwendeter vektorbasierter 2D-Formen wie Rechtecke und Ellipsen, die in der folgenden Abbildung dargestellt sind.

Diagram showing ellipses and rectangles.

Diese systeminternen WPF-Formen sind mehr als nur Formen: Es handelt sich um programmierbare Elemente, die viele der Features implementieren, die Sie von den gebräuchlichsten Steuerelementen erwarten, etwa Tastatur- und Mauseingaben. Die folgenden Beispiele zeigen, wie das ausgelöste MouseUp-Ereignis durch Klicken auf ein Ellipse-Element verarbeitet wird.

<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

Die folgende Abbildung zeigt die Ausgabe für das vorangehende XAML-Markup und CodeBehind.

A message box saying

Weitere Informationen finden Sie unter Übersicht über Formen und die grundlegenden Funktionen zum Zeichnen in WPF. Ein einführendes Beispiel finden Sie unter Beispiel für Formelemente.

2D-Geometrien

Wenn die 2D-Formen von WPF nicht ausreichen, können Sie mit der WPF-Unterstützung für Geometrien und Pfade eigene Formen erstellen. Die folgende Abbildung zeigt, wie Sie Geometrien nutzen können, um Formen zu erstellen, wie etwa einen Zeichenpinsel, und andere WPF-Elemente ausschneiden zu können.

Screenshot showing how you can use geometries to create shapes.

Weitere Informationen finden Sie unter Übersicht über die Geometrie. Ein einführendes Beispiel finden Sie unter Beispiele zu Geometrie.

2D-Effekte

WPF stellt eine Bibliothek mit 2D-Klassen zur Verfügung, mit denen Sie verschiedene Effekte erstellen können. Die 2D-Renderingfunktion von WPF bietet die Möglichkeit, Elemente der Benutzeroberfläche mit Farbverläufen, Bitmaps, Zeichnungen und Videos zu zeichnen, und diese durch Drehung, Skalierung und Neigung zu bearbeiten. Die folgende Abbildung zeigt ein Beispiel für die vielen Effekte, die Sie mit WPF-Pinsels erreichen können.

Illustration showing the different WPF brushes and paint elements.

Weitere Informationen finden Sie unter Übersicht über WPF-Pinsel. Ein einführendes Beispiel finden Sie unter Pinselbeispiel.

3D-Rendering

WPF bietet eine Reihe von 3D-Renderingfunktionen, die in der 2D-Grafikunterstützung in WPF integriert sind, damit Sie Layout, die Benutzeroberfläche und Datenvisualisierung noch ansprechender gestalten können. Mit WPF können Sie sogar 2D-Bilder auf den Oberflächen von 3D-Formen rendern, was die folgende Abbildung veranschaulicht.

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

Weitere Informationen finden Sie unter Übersicht über 3D-Grafiken. Ein einführendes Beispiel finden Sie unter Beispiel zu 3D-Festkörpern.

Animation

Mit Animation können Sie Steuerelemente und Elemente wachsen, bewegen, drehen sowie ein- und ausblenden lassen und z.B. interessante Seitenübergänge erzeugen. Da Sie mit WPF die meisten Eigenschaften animieren können, können Sie nicht nur die meisten WPF-Objekte animieren, sondern Sie können WPF auch verwenden, um benutzerdefinierte Objekte, die Sie erstellen, zu animieren.

Screenshot of an animated cube.

Weitere Informationen finden Sie unter Übersicht über Animation. Ein einführendes Beispiel finden Sie unter Beispielsammlung zu Animationen.

Medien

Bilder, Videos und Audiodateien bieten eine umfangreiche Medienunterstützung, um Informationen zu vermitteln und für Benutzerfreundlichkeit zu sorgen.

Bilder

Bilder, z.B. Symbole, Hintergründe und sogar Teile von Animationen, sind ein wesentlicher Bestandteil der meisten Anwendungen. Da Sie häufig Bilder verwenden müssen, bietet WPF die Möglichkeit, sie auf vielfältige Weise einzusetzen. In der folgenden Abbildung wird lediglich eine der Möglichkeiten dargestellt.

Styling sample screenshot

Weitere Informationen finden Sie unter Übersicht über die Bildverarbeitung.

Video und Audio

Ein Hauptfeature der Grafikfunktionen von WPF besteht in der nativen Unterstützung für die Arbeit mit Multimedia, z. B. Video und Audio. Im folgenden Beispiel wird veranschaulicht, wie einen MediaPlayer in eine Anwendung eingefügt wird.

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

MediaElement kann sowohl Video- als auch Audiodateien abspielen und kann ausreichend erweitert werden, damit die einfache Erstellung von benutzerdefinierten Benutzeroberflächenelementen möglich ist.

Weitere Informationen finden Sie unter Übersicht über Multimedia.

Siehe auch