Главная » Silverlight » Контуры и геометрия

0

В предыдущих разделах рассмотрено несколько классов фигур, производных от класса Shape. Однако это еще не все классы, производные от Shape. Наиболее мощный класс Path (Контур) рассматривается в данном разделе. С его помощью можно создать любую фигуру, группу фигур и даже более сложные объекты — криволинейные фигуры.

Класс Path предоставляет единственное свойство Data, принимающее объект Geometry, в котором определена одна или несколько фигур. Объект класса Geometry нельзя создать непосредственно, потому что этот класс абстрактный. Вместо него в коде используются производные от него классы (табл. 8.3). Все они находятся в про­странстве имен System.Windows.Media.

Примечание. Платформа Silverlight поддерживает не все классы Geometry, представленные в WPF. Наиболее заметно отсутствие класса CombinedGeometry, определяющего слияние двух контуров. Впрочем, эффект слияния можно воспроизвести с помощью более мощного класса PathGeometry. Не хватает также класса StreamGeometry, представляющего собой упрощенную версию класса PathGeometry, доступную в режиме чтения.

Главное отличие между классами Geometry и Path состоит в том, что класс Geometry определяет фигуру, а класс Path рисует ее на экране. В объекте Geometry задаются коор­динаты характерных точек и размеры фигуры, а объект Path предоставляет кисти Fill и Stroke, используемые для прорисовки фигуры. Кроме того, класс Path предоставляет средства, унаследованные от инфраструктуры UIElement, такие как события мыши и клавиатуры.

В следующих разделах рассматриваются классы, производные от класса Geometry.

Таблица 8.3. Классы, производные от класса Geometry

Имя класса

Описание

LineGeometry

Отрезок прямой линии; аналогичен фигуре Line

RectangleGeometry

Прямоугольник (возможно, со скругленными углами); аналогичен фигуре

Rectangle

EllipseGeometry

Эллипс; аналогичен фигуре Ellipse

GeometryGroup

Добавление произвольного количества объектов Geometry в один

объект контура; для задания правил заполнения замкнутых областей

используются значения EvenOdd и NonZero

PathGeometry

Составная фигура, состоящая из дуг, кривых линий и отрезков прямых

линий; фигура может быть замкнутой или незамкнутой

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

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