СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 03.06.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Инструментальные средства разработки ПО Практическая работа №9

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Инструментальные средства разработки ПО Практическая работа №9»

Практическое занятие № 9



Пользовательские элементы в WPF-приложениях. Классы Path и Geometry.

PathGeometry позволяет создавать более сложные по характеру геометрии. PathGeometry содержит один или несколько компонентов PathFigure. Объект PathFigure в свою очередь формируется из сегментов. Все сегменты наследуются от класса PathSegment и бывают нескольких видов:

  • LineSegment задает отрезок прямой линии между двумя точками

  • ArcSegment задает дугу

  • BezierSegment задает кривую Безье

  • QuadraticBezierSegment задает квадратичную кривую Безье

  • PolyLineSegment задает сегмент из нескольких линий

  • PolyBezierSegment задает сегмент из нескольких кривых Безье

  • PolyQuadraticBezierSegment задает сегмент из нескольких квадратичных кривых Безье

Эти сегменты составляют свойство Segment объекта PathFigure. Кроме того, PathFigure имеет еще несколько важных свойств:

  • StartPoint - точка начала первой фигуры

  • IsClosed - если значение равно true, то первая и последняя точки (если они не совпадают) соединяются

  • IsFilled - если значение равно true, то площадь внутри пути окрашивается кистью, заданной свойством Fill у объекта Path

Линии

Создание линий с помощью PathGeometry:







Управляя свойством IsClosed мы можем получить как замкнутый, так и незамкнутый контур. А при применении свойства Fill в элементе Path содержимое контура заполняется цветом. Таким образом, мы можем получить не просто линию, а целостные фигуры, заполненные цветом.

Дуга



Для создания дуги у ArcSegment задается свойство Point, которое указывает на конечную точку дуги (начальная точка задается через свойство StartPoint элемента PathFigure), а свойство Size устанавливает размер окружностей, по которым строится дуга.



Кривые Безье

Кривые Безье представляют линии, для построения которых применяются сложные математические преобразования. В WPF кривые Безье представлены различными типами: простые и квадратичные кривые. Для построения кривых Безье используются начальная и конечная точки, а также ряд промежуточных точек:



Начальная точка кривых устанавливается с помощью свойства StartPoint элемента PathFigure. Для простой кривой Безье свойства Point1 и Point2 задают промежуточные точки, а Point3 является конечной точкой. Для квадратичной кривой Point2 - конечная точка, а Point1 - промежуточная.

Трансформации представляют инструмент изменения положения или размера элементов WPF. Трансформации могут быть полезны в тех ситуациях, когда надо изменить положение элемента, либо анимировать. Все трансформации наследуются от абстрактного базового класса System.Windows.Media.Transform и представляют следующие классы:

  • TranslateTransform: сдвигает элементы по горизонтали и вертикали

  • RotateTransform: вращает элемент

  • ScaleTransform: выполняет операции масштабирования

  • SkewTransform: изменяет позицию элемента путем наклона на определенное количество градусов

  • MatrixTransform: изменяет координатную систему в соответствии с определенной матрицей

  • TransformGroup: представляет группу трансформаций

RotateTransform

RotateTransform поворачивает элемент вокруг оси на определенное количество градусов. Данный объект принимает три основых параметра:

  • Angle: угол поворота

  • CenterX: устанавливает центр вращения по оси X

  • CenterY: устанавливает центр вращения по оси Y



TranslateTransform

TranslateTransform позволяет сместить положение элемента по оси X, с помощью свойства X, и по оси Y - с помощью свойства Y.

ScaleTransform

Обеспечивает масштабирование элемента на определенную величину. Для изменения ширины надо задать свойство ScaleX, а для изменения длины - свойство ScaleY. Кроме того, также имеются свойства CenterX и CenterY, позволяющие позиционировать элемент.

Например, увеличение прямоугольника в полтора раза:



SkewTransform

SkewTransform позволяет задать наклон элемента вдоль оси X с помощью свойства AngleX, и по оси Y - с помощью свойства AngleY. А с помощью свойств CenterX и CenterY можно изменить положение элемента относительно осй X и Y:

MatrixTransform

Осуществляет матричное преобразование элемента. В свойстве Matrix мы задаем первые два столбца, которые применяются при преобразовании. Последний столбец по умолчанию имеет значения {0 0 1}.

RenderTransform и LayoutTransform

Для применения трансформаций у фигур и стандартных элементов управления WPF используются свойства RenderTransform и LayoutTransform. Несмотря на то, что для обоих свойств трансформации задаются одинаково, их действие различается. Так, свойство LayoutTransform применяется до компоновки элемента, а RenderTransform - после, поэтому одинаковые трансформации для этих свойств могут давать немного разные результаты:










Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!