Курс лекций для студентов специальности 1-40 01 03 Информатика и технологии программирования Минск 2013



страница17/22
Дата09.08.2018
Размер1.9 Mb.
#43657
ТипКурс лекций
1   ...   14   15   16   17   18   19   20   21   22

10.3. Трансформации


Трансформация – это заданное изменение координатной системы, в которой отображается элемент. Описание таких трансформаций на плоскости, как масштабирование, отражение и поворот, можно выполнить в терминах числовых матриц размером 2х2. Чтобы представить в матричной форме операцию сдвига координатной системы, используют однородные координаты.

Однородными координатами точки (x, y) является тройка вида (x, y, 1). Если дана тройка чисел (a, b, c), соответствующая точка в однородных координатах находится после применения нормировки – деления на c: (a/c, b/c, 1). Тройки (a, b, 0) описывают в однородных координатах бесконечно удалённую точку.

В терминах однородных координат основные трансформации можно выразить следующим образом:

1. Масштабирование (включая отражения): .

2. Поворот на угол φ: .

3. Сдвиг: .

Комбинация трансформаций выполняется как умножение матриц.

В WPF трансформации представлены классами, унаследованными от абстрактного класса System.Windows.Media.Transform. Набор предопределённых трансформаций перечислен в табл. 6.

Таблица 6

Классы трансформаций


Имя класса

Описание

Важные

свойства

TranslateTransform

Смещает координатную систему на указанную величину

X, Y

RotateTransform

Поворачивает координатную систему вокруг заданной точки

Angle, CenterX, CenterY

ScaleTransform

Масштабирует координатную систему. Можно применять разную степень масштабирования по измерениям X и Y

ScaleX, ScaleY, CenterX, CenterY

SkewTransform

Деформирует координатную систему, наклоняя её оси на заданное число градусов

AngleX, AngleY, CenterX, CenterY

MatrixTransform

Выполняет трансформацию, используя указанную матрицу вида

Matrix

TransformGroup

Комбинирует несколько трансформаций. Порядок трансформаций имеет значение

Children

Укажем некоторые способы задания трансформаций:

1. Класс UIElement определяет свойства RenderTransform и RenderTransformOrigin. RenderTransform – это трансформация, выполняемая после процесса компоновки непосредственно перед отображением элемента. RenderTransformOrigin задаёт стартовую (неподвижную) точку трансформации. По умолчанию это точка имеет координаты (0, 0) (координаты точки относительные, в терминах виртуального ограничивающего прямоугольника).

2. Класс FrameworkElement содержит свойство LayoutTransform для трансформации, применяемой до процесса компоновки.

3. Класс Brush имеет свойства RelativeTransform и Transform, позволяющие выполнить трансформацию кисти до и после её применения.

Следующий пример демонстрирует использование трансформаций.















Рис. 32. Кнопки, подвергшиеся трансформации.


10.4. Эффекты


WPF поддерживает применение к элементам эффектов, таких как размытие или отбрасывание тени. Эффекты описываются классами, унаследованными от System.Windows.Media.Effects.Effect: BlurEffect – эффект размытия; DropShadowEffect – эффект тени; ShaderEffect – эффект, определённый на языке HLSL (пиксельные шейдеры).

Для применения эффектов класс UIElement определяет свойство Effect. Следующая разметка демонстрирует эффекты BlurEffect и DropShadowEffect:



<StackPanel Orientation="Horizontal">







Рис. 33. Применение эффектов размытия и тени.



Каталог: images
images -> В списке студентов (или магистрантов)
images -> Н. И. Сулейманов Комплект контрольно-оценочных средств для оценки результатов освоения профессионального модуля разработан на основе Федерального государственного образовательного стандарта среднего профессионального
images -> По направлению подготовки
images -> Добавить гаджеты. Добавление гаджетов
images -> Техническое задание № apnip/C. 2/CS/Ind/01 Международный консультант по улучшенной производительности орошаемого земледелия
images -> Комплект контрольно-оценочных средств по профессиональному модулю пм. 01 Техническое обслуживание и ремонт автотранспорта


Поделитесь с Вашими друзьями:
1   ...   14   15   16   17   18   19   20   21   22




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница