Главная » C#, Windows Runtime, XAML, Разработка для Windows 8 » Использование геометрических объектов Windows Runtime

0

В WinRT существует  целая группа геометрических объектов.  Они  описывают всевозможные геометрические  фигуры,  но,  в    отличие   от   рассмотренных примитивов, могут быть использованы только для  создания объекта Path или для установки  свойства Clip всем объектам UIElement.

Рассматривая геометрические   объекты,   можно   выделить  группу   простых объектов,  а  также  группу  сегментов,  которые  являются  частью  составного контура. Рассмотрим группу простых объектов.

·                   LineGeometry — задает линию. Тут можно указать начальную и конечную точку.

·                   EllipseGeometry — задает эллипс. Может принимать радиус по каждой из осей, а также центр эллипса.

·                   RectangleGeometry — задает прямоугольник.

Вот небольшой пример использования простой геометрической фигуры.

<Path Stroke="Black" StrokeThickness="2" >

<Path.Data>

<EllipseGeometry RadiusX="100" RadiusY="100" Center="100,100"/>

</Path.Data>

</Path>

В результате на экране будет отображена обычная окружность.

Для создания сложных кривых можно использовать более сложный объект — PathGeometry. Он содержит специальный набор более  мелких  объектов  — сегментов. В свою очередь сегменты могут быть разбиты на группы с помощью объекта типа PathFigure.

Такой  подход  значительно  превосходит язык  элемента  Path,   который  мы рассматривали выше. Ведь теперь можно работать с сегментами как с отдельными объектами и обращаться к ним по имени из кода.

Рассмотрим, какие сегменты доступны для PathGeometry.

·                   ArcSegment — определяет эллиптическую дугу между двумя точками.

·                   LineSegment — описывает прямую линию между двумя точками.

·                   BezierSegment — описывает кривую Безье.

·                   PolyLineSegment — позволяет нарисовать ряд прямых линий по массиву точек.

·                   PolyBezierSegment   —   позволяет  задать   массив  точек,    которые используются для построения набора кривых Безье.

·                   QuadraticBezierSegment — квадратичная кривая Безье.

·                   PolyQuadraticBezierSegment — позволяет построить набор квадратичных кривых Безье.

Вот небольшой пример, демонстрирующий использование PathGeometry.

<Path Stroke="Black" StrokeThickness="1" >

<Path.Data>

<PathGeometry>

<PathGeometry.Figures>

<PathFigure StartPoint="10,50">

<PathFigure.Segments>

<BezierSegment Point1="100,0" Point2="200,200" Point3="300,100"/>

<LineSegment Point="400,100" />

<ArcSegment Size="50,50" RotationAngle="45" IsLargeArc="True" SweepDirection="Clockwise" Point="200,100"/>

</PathFigure.Segments>

</PathFigure>

</PathGeometry.Figures>

</PathGeometry>

</Path.Data>

</Path>

Ниже показан результат работы этого примера.

Рис. 4.6.

В завершение отметим, что если вы хотите объединять несколько геометрических объектов, то можете воспользоваться элементом GeometryGroup.

Сергей Лутай, Сергей Байдачный, Windows 8 для C# разработчиков

По теме:

  • Комментарии