Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Windows Presentation Foundation (WPF) обеспечивает поддержку мультимедиа, векторной графики, анимации и композиции содержимого, что упрощает разработку интересных пользовательских интерфейсов и содержимого разработчиками. С помощью Visual Studio можно создавать векторные графики или сложные анимации и интегрировать мультимедиа в приложения.
В этом разделе представлены функции графики, анимации и мультимедиа WPF, которые позволяют добавлять графические, переходные эффекты, звук и видео в приложения.
Заметка
Использование типов WPF в службе Windows настоятельно не рекомендуется. Если вы пытаетесь использовать типы WPF в службе Windows, служба может не работать должным образом.
Новые возможности графики и мультимедиа в WPF 4
Внесены некоторые изменения, связанные с графикой и анимацией.
Округление макета
Когда край объекта оказывается в середине пикселя, система графики, независимая от DPI, может создавать артефакты рендеринга, такие как размытые или полупрозрачные края. Предыдущие версии WPF предусматривали привязку пикселей, чтобы улучшить обработку подобных случаев. Silverlight 2 представил округление границ, что является еще одним способом перемещения элементов, чтобы их края совпадали с границами всего пикселя. WPF теперь поддерживает округление макета с помощью присоединенного свойства UseLayoutRounding на FrameworkElement.
Кэшированная конфигурация
Используя новые классы BitmapCache и BitmapCacheBrush, можно кэшировать сложную часть визуального дерева в виде растрового изображения и значительно улучшить время отрисовки. Растровое изображение остается адаптивным к входным данным пользователя, таким как щелчки мыши, и вы можете нарисовать его на другие элементы так же, как любая кисть.
Поддержка шейдера пикселей 3
WPF 4 строится на основе поддержки ShaderEffect, представленной в WPF 3.5 с пакетом обновления 1 (SP1), позволяя приложениям записывать эффекты с помощью шейдера пикселей (PS) версии 3.0. Модель шейдера PS 3.0 более сложна, чем PS 2.0, что позволяет еще больше влиять на поддерживаемое оборудование.
Упрощение функций
Вы можете улучшить анимацию с помощью функций упрощения, что дает дополнительный контроль над поведением анимации. Например, можно применить ElasticEase к анимации, чтобы придать ей пружинное поведение. Дополнительную информацию о типах сглаживания можно найти в пространстве имен System.Windows.Media.Animation.
Графика и отрисовка
WPF включает поддержку высококачественной 2D-графики. Эта функция включает кисти, геометрии, изображения, фигуры и преобразования. Дополнительные сведения см. в разделе Графика. Отрисовка графических элементов основана на классе Visual. Структура визуальных объектов на экране описывается визуальным деревом. Дополнительные сведения см. в обзоре отрисовки графики WPF.
2D-фигуры
WPF предоставляет библиотеку часто используемых векторных 2D-фигур, таких как прямоугольники и многоточия, показанная на следующем рисунке.
Эти встроенные фигуры WPF — это не только фигуры: они являются программируемыми элементами, реализующими многие функции, ожидаемые от наиболее распространенных элементов управления, которые включают ввод клавиатуры и мыши. В следующем примере показано, как обрабатывать событие MouseUp, созданное путем щелчка элемента 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
На следующем рисунке показаны выходные данные для предыдущей разметки XAML и программной части.
Дополнительные сведения см. в разделе Основные фигуры и рисование в обзоре WPF. Вводные примеры см. в разделе Пример элементов фигуры.
2D Геометрия
Если 2D-фигур, предоставляемых WPF, не хватает, можно воспользоваться поддержкой геометрий и путей в WPF, чтобы создать свои собственные. На следующем рисунке показано, как можно использовать геометрии для создания фигур, в качестве кисти рисования, а также для обрезки других элементов WPF.
Дополнительные сведения см. в обзоре геометрии. Вводные примеры см. в разделе Пример геометрии.
Эффекты 2D
WPF предоставляет библиотеку 2D-классов, которые можно использовать для создания различных эффектов. Возможность отрисовки 2D WPF обеспечивает возможность рисования элементов пользовательского интерфейса с градиентами, растровыми изображениями, рисунками и видео; и управлять ими с помощью поворота, масштабирования и перекоса. На следующем рисунке приведен пример множества эффектов, которые можно достичь с помощью кистей WPF.
Подробности см. в обзоре кистей WPF . Для вводного образца см. Пример кисти.
Трехмерная отрисовка
WPF предоставляет набор трехмерных возможностей отрисовки, которые интегрируются с поддержкой трехмерной графики в WPF для создания более интересного макета, пользовательского интерфейса и визуализации данных. На одном из концов спектра WPF позволяет отображать двухмерные изображения на поверхности трехмерных фигур, что демонстрируется на следующем рисунке.
Дополнительные сведения см. раздел Обзор трехмерной графики. Для примера, см. 3D Solids Sample.
Мультипликация
Используйте анимацию, чтобы элементы управления и объекты росли, тряслись, вращались и исчезали; создавайте интересные переходы страниц и многое другое. Поскольку WPF позволяет анимировать большинство свойств, вы можете не только анимировать большинство объектов WPF, но и использовать WPF для анимации пользовательских объектов, которые вы создаете.
Дополнительные сведения см. в обзоре анимации. Для ознакомления см. в галерее примеров анимации .
Медиа
Изображения, видео и аудио — это широкие возможности передачи информации и взаимодействия с пользователем.
Изображения
Изображения, которые включают значки, фоны и даже части анимации, являются основной частью большинства приложений. Так как часто требуется использовать изображения, WPF предоставляет возможность работать с ними различными способами. На следующем рисунке показан только один из этих способов.
Дополнительные сведения см. в обзоре изображений.
Видео и звук
Основная функция графических возможностей WPF заключается в том, чтобы обеспечить встроенную поддержку работы с мультимедиа, которая включает видео и звук. В следующем примере показано, как вставить проигрыватель мультимедиа в приложение.
<MediaElement Source="media\numbers.wmv" Width="450" Height="250" />
MediaElement может воспроизводить как видео, так и звук, и достаточно расширяемо, чтобы обеспечить простоту в создании пользовательских интерфейсов.
Для получения дополнительной информации см. обзор мультимедиа .
См. также
- System.Windows.Media
- System.Windows.Media.Animation
- System.Windows.Media.Media3D
- 2D графика и изображение
- Фигуры и базовые рисунки в WPF: Обзор
- Обзор рисования со сплошными цветами и градиентами
- Создание с использованием изображений, рисунков и визуальных элементов
- Темы о том, как использовать анимацию и время
- Обзор трехмерной графики
- Обзор мультимедиа
.NET Desktop feedback