Графика и мультимедиа
Windows Presentation Foundation (WPF) обеспечивает поддержку мультимедиа, векторной графики, анимации и композиции содержимого, делая простым для разработчиков создание интересных пользовательских интерфейсов и содержимого. Используя Microsoft Visual Studio, можно создавать векторную графику или сложную анимацию и интегрировать мультимедиа в приложения.
В этом разделе рассматриваются графические, анимационные и мультимедийные возможности WPF, которые позволяют добавлять рисунки, эффекты перехода, звуки и видео в приложения.
Примечание |
---|
Крайне нежелательно использовать типы WPF в службе Windows.Использование типов WPF в службе Windows может привести к непредвиденному поведению этой службы. |
В этом разделе содержатся следующие подразделы.
- Новые графические и мультимедийные возможности в WPF 4
- Графика и визуализация
- Трехмерная визуализация
- Анимация
- Мультимедиа
- Связанные разделы
Новые графические и мультимедийные возможности в WPF 4
Некоторые изменения также коснулись графики и анимации.
Округление макета
Когда положение границы попадает в середину пикселя устройства, система графики, не зависящая от разрешения, может создавать эффекты визуализации, такие как смазанные или полупрозрачные границы. В предыдущих версиях WPF для обработки таких случаев была предусмотрена привязка пикселей. В Silverlight 2 появилось округление макета, являющееся другим способом перемещения элементов, чтобы границы попадали между пикселями. Теперь WPF поддерживает округление макета с помощью свойства UseLayoutRounding, подключенного к элементу FrameworkElement.
Кэшированная композиция
С помощью новых классов BitmapCache и BitmapCacheBrush можно кэшировать составную часть визуального дерева как растровое изображение и значительно уменьшить время визуализации. Растровое изображение продолжает реагировать на пользовательский ввод, такой как щелчок кнопкой мыши, и его можно изобразить на других элементах, как любую кисть.
Поддержка построителя текстуры 3
WPF 4 строится на основе поддержки ShaderEffect, введенной в WPF 3.5 с пакетом обновления 1 (SP1) путем разрешения приложениям записывать эффекты с помощью построителя текстуры (PS) версии 3.0. Модель построителя текстуры версии 3.0 более сложная, чем построитель текстуры версии 2.0, что позволяет использовать гораздо больше эффектов на поддерживаемом оборудовании.
Функции плавности
Можно усовершенствовать анимацию с помощью функции плавности, что дает дополнительный контроль поведения анимации. Например, можно применить ElasticEase к анимации, чтобы придать анимации быстроту. Дополнительные сведения см. в документации, посвященной типам плавности в пространстве имен System.Windows.Media.Animation.
Графика и визуализация
WPF включает поддержку двухмерной графики высокого качества. Данная функциональность охватывает кисти, геометрии, изображения, фигуры и преобразования. Дополнительные сведения см. в разделе Графика. Визуализация графических элементов основана на классе Visual. Структура визуальных объектов на экране описывается визуальным деревом. Дополнительные сведения см. в разделе Общие сведения об отрисовке графики в WPF.
Двухмерные формы
WPF предоставляет библиотеку, часто используемую для векторного рисования форм 2-D, таких как прямоугольники и эллипсы, которые показаны на следующем рисунке.
Эти встроенные фигуры WPF являются не просто формами. Они являются элементами программирования, которые реализуют многие возможности других наиболее распространенных элементов управления, включая клавиатуру и мышь. В следующем примере показана обработка события MouseUp, возникающего при щелчке мышью элемента Ellipse.
<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
На следующем рисунке показан результат для предыдущей разметки XAML и кода программной части.
Дополнительные сведения см. в разделе Обзор фигур и базовых средств рисования в приложении WPF. Вводный пример см. на веб-странице Shape Elements Sample.
Двухмерная геометрия
Когда 2-D фигур WPF недостаточно, можно использовать поддержку WPF для геометрических фигур и путей для создания своих собственных фигур. На следующем рисунке показано, как можно использовать геометрические объекты для создания фигур, например кисти рисования, и отсечения других элементов WPF.
Дополнительные сведения см. в разделе Общие сведения о классе Geometry. Вводный пример см. на веб-странице Geometries Sample.
Двухмерные эффекты
WPF предоставляет библиотеку классов 2-D, которую можно использовать для создания различных эффектов. Возможности отрисовки 2-D WPF обеспечивают средства для рисования элементов UI с градиентами, точечными рисунками, рисунками и видеозаписями, а также управления ими с помощью вращения, масштабирования и наклона. На следующем рисунке приведен пример многих эффектов, которые можно получить с помощью кисти WPF.
Дополнительные сведения см. в разделе Общие сведения о кистях WPF. Вводный пример см. на веб-странице Brushes Sample.
Трехмерная визуализация
WPF предоставляет набор средств для отрисовки 3-D, который включает поддержку графики 2-D в WPF для создания более интересного макета UI и визуализации данных. WPF позволяет отображать изображения 2-D на поверхностях фигур 3-D, как показано на следующем рисунке.
Дополнительные сведения см. в разделе Обзор трехмерной графики. Вводный пример см. на веб-странице 3-D Solids Sample.
Анимация
Используйте эффекты анимации, чтобы заставить элементы управления увеличиваться, вибрировать, вращаться или растворяться, а также чтобы создать оригинальные переходы между страницами и т.д. Поскольку WPF позволяет анимировать большинство свойств, можно не только анимировать большинство объектов WPF, но также использовать WPF для анимации создаваемых пользователем объектов.
Дополнительные сведения см. в разделе Общие сведения об эффектах анимации. Вводный пример см. на веб-странице Animation Example Gallery.
Мультимедиа
Рисунки, видео и аудио являются разнообразными способами передачи информации и взаимодействия с пользователем.
Изображения
Изображения, которые включают значки, фоновые рисунки и даже часть анимации, являются основной частью большинства приложений. Так как часто возникает необходимость использовать изображения, WPF предоставляет различные способы работы с ними. Ниже приведен только один из этих способов.
Дополнительные сведения см. в разделе общих сведений Общие сведения об обработке изображений.
Видео и аудио
Основные графические возможности WPF предоставляют встроенную поддержку для работы с мультимедиа, которая включает видео и звук. В следующем примере показано, как вставить в приложение медиа-проигрыватель.
<MediaElement Source="media\numbers.wmv" Width="450" Height="250" />
MediaElement способен воспроизводить видео и аудио, а также имеет достаточно широкие возможности для легкого создания пользовательских UIs.
Дополнительные сведения см. в разделе Общие сведения о мультимедиа.
См. также
Ссылки
System.Windows.Media.Animation
Основные понятия
Оптимизация производительности: двумерная графика и обработка изображений
Обзор фигур и базовых средств рисования в приложении WPF
Общие сведения о закраске сплошным цветом и градиентом
Рисование с помощью объектов Image, Drawing и Visual
Другие ресурсы
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Декабрь 2010 |
Добавлен отсутствующий пример Visual Basic. |
Исправление ошибки содержимого. |