Grafiken und Multimedia
Windows Presentation Foundation (WPF) bietet Unterstützung für Multimedia, Vektorgrafiken, Animation und Inhaltskomposition, wodurch Entwickler auf einfache Weise interessante Benutzeroberflächen und Benutzerinhalte erstellen können. Mit Microsoft Visual Studio können Sie Vektorgrafiken oder komplexe Animationen erstellen und Medien in die Anwendungen integrieren.
In diesem Thema werden die Grafik-, Animations- und Medienfeatures von WPF vorgestellt, mit denen Sie den Anwendungen Grafiken, Übergangseffekte, Sound und Video hinzufügen können.
![]() |
---|
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. |
Dieses Thema enthält folgende Abschnitte.
- Neue Grafik- und Multimediafunktionen in WPF 4
- Grafiken und Rendering
- 3D-Rendering
- Animation
- Medien
- Verwandte Abschnitte
Neue Grafik- und Multimediafunktionen in WPF 4
Mehrere Änderungen wurden im Hinblick auf Grafiken und Animationen vorgenommen.
Layoutrundung
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 Layoutrundung eingeführt, die eine andere Möglichkeit bietet, um Elemente so zu verschieben, dass Ränder auf ganzen Pixelgrenzen liegen. WPF unterstützt jetzt die Layoutrundung mit der angefügten UseLayoutRounding-Eigenschaft auf FrameworkElement.
Zwischengespeicherte Komposition
Mit den neuen Klassen BitmapCache und BitmapCacheBrush können Sie einen komplexen Teil der visuellen Struktur als Bitmap zwischenspeichern und die Renderingzeit dadurch erheblich optimieren. Die Bitmap reagiert weiterhin auf Benutzereingabe, z. B. Mausklicks, und Sie können sie wie jeden Pinsel auf anderen Elementen zeichnen.
Unterstützung von Pixel Shader 3
WPF 4 erweitert die in WPF 3.5 SP1 eingeführte ShaderEffect-Unterstützung und ermöglicht es Anwendungen, Effekte mit Pixel Shader (PS) Version 3.0 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 z. B. eine ElasticEase für eine Animation übernehmen, um der Animation ein Federverhalten zuzuweisen. Weitere Informationen finden Sie unter den Beschleunigungstypen im System.Windows.Media.Animation-Namespace.
Grafiken und Rendering
WPF bietet Unterstützung für hochwertige 2D-Grafiken. Zu den Funktionen zählen Pinsel, Geometrien, Bilder, Formen und Transformationen. Weitere Informationen finden Sie unter Grafiken. Das Rendering von visuellen Elementen 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-Grafikrendering.
2D-Formen
WPF enthält eine Bibliothek häufig verwendeter vektorbasierter 2-D-Formen wie Rechtecke und Ellipsen, die in der folgenden Abbildung dargestellt sind.
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. Im folgenden Beispiel wird gezeigt, wie das MouseUp-Ereignis behandelt wird, das durch Klicken auf ein Ellipse-Element ausgelöst wird.
<Window
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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
In der folgenden Abbildung wird die Ausgabe für das vorangehende XAML-Markup und Code-Behind dargestellt.
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 von WPF bereitgestellten 2-D-Formen nicht ausreichen, können Sie mit der WPF-Unterstützung für Geometrien und Pfade eigene Formen erstellen. In der folgenden Abbildung wird verdeutlicht, wie Sie mit Geometrien Formen, etwa einen Zeichenpinsel, erstellen und andere WPF-Elemente ausschneiden können.
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 von 2-D-Klassen bereit, mit denen Sie eine Vielzahl von Effekten erstellen können. Die 2-D-Renderingfunktion von WPF bietet die Möglichkeit, UI-Elemente, die Farbverläufe, Bitmaps, Zeichnungen und Videos aufweisen, zu zeichnen und durch Drehen, Skalieren und Neigen zu bearbeiten. Die folgende Abbildung zeigt ein Beispiel für die vielen Effekte, die Sie mit WPF-Pinseln erreichen können.
Weitere Informationen finden Sie unter Übersicht über WPF-Pinsel. Ein einführendes Beispiel finden Sie unter Beispiel für Pinsel.
3D-Rendering
WPF enthält eine Reihe von 3-D-Renderingfunktionen, die in der 2-D-Grafikunterstützung in WPF integriert sind, damit Sie Layout, UI und Datenvisualisierung noch ansprechender gestalten können. Mit WPF können Sie sogar 2-D-Bilder auf den Oberflächen von 3-D-Formen rendern, was in der folgenden Abbildung veranschaulicht wird.
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 mitWPF 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.
Weitere Informationen finden Sie unter Übersicht über Animationen. Ein einführendes Beispiel finden Sie unter Beispielsammlung zu Animationen.
Medien
Bilder, Video und Audio bieten eine umfangreiche Medienunterstützung, um Informationen zu vermitteln und für Benutzerfreundlichkeit zu sorgen.
Bilder
Bilder, dazu zählen Symbole, Hintergründe und sogar Teile von Animationen, sind ein Hauptbestandteil 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.
Weitere Informationen finden Sie unter Übersicht über die Bildverarbeitung.
Video und Audio
Ein Hauptfeature der Grafikfunktionen von WPF besteht in der systemeigenen Unterstützung für die Arbeit mit Multimedia, z. B. Video und Audio. Das folgende Beispiel zeigt, wie ein Media Player in eine Anwendung eingefügt wird.
<MediaElement Source="media\numbers.wmv" Width="450" Height="250" />
Mit dem MediaElement können Video und Audio wiedergegeben werden. Es lässt sich so erweitern, dass benutzerdefinierte UIs leicht erstellt werden können.
Weitere Informationen finden Sie unter Übersicht über Multimedia.
Siehe auch
Referenz
System.Windows.Media.Animation
Konzepte
Optimieren der Leistung: 2D-Grafiken und Bildverarbeitung
Übersicht über Formen und die grundlegenden Funktionen zum Zeichnen in WPF
Übersicht über das Zeichnen mit Volltonfarben und Farbverläufen
Zeichnen mit Bildern, Zeichnungen und visuellen Elementen
Weitere Ressourcen
Animation und zeitliche Steuerung
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Dezember 2010 |
Ein fehlendes Visual Basic-Beispiel wurde hinzugefügt. |
Korrektur inhaltlicher Fehler. |