Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

2007 г.

GDI+
Лекция из курса «Введение в программирование на C# 2.0»

Марченко Антон Леонардович
Интернет-Университет Информационных Технологий, INTUIT.ru

Назад Оглавление Вперёд

GraphicsPath

GraphicsPath – класс, представляющий последовательность соединенных линий и кривых. Приложения используют контуры для отображения очертаний фигур, заполнения внутренних областей фигур, создания областей отсечения.

Контур может состоять из любого числа фигур (контуров). Каждая фигура либо составлена из последовательности линий и кривых, либо является геометрическим примитивом. Начальная точка фигуры – первая точка в последовательности соединенных линий и кривых. Конечная точка – последняя точка в последовательности.

Фигура, состоящая из последовательности соединенных линий и кривых (чьи начальная и конечная точки могут совпадать), является разомкнутой фигурой, если она не замкнута явно. Фигура может быть замкнута явно с помощью метода CloseFigure, который замыкает фигуру путем соединения конечной и начальной точек линией. Фигура, состоящая из геометрического примитива, является замкнутой.

Для целей заполнения и отсечения (например, если контур визуализируется с помощью метода Graphics.FillPath) все разомкнутые фигуры замыкаются путем добавления линии от первой точки фигуры к последней.

Новая фигура начинается неявно, когда создается контур или фигура замыкается. Новая фигура создается явно, когда вызывается метод StartFigure.

Когда к контуру добавляется геометрический примитив, то он добавляет фигуру, содержащую геометрический примитив, а также неявно начинает новую фигуру. Следовательно, в контуре всегда существует текущая фигура. Когда линии и кривые добавляются к контуру, то добавляется неявная линия, соединяющая конечную точку текущей фигуры с начальной точкой новых линий и кривых, чтобы сформировать последовательность соединенных линий и кривых.

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

Конструкторы
GraphicsPath-конструкторИнициализирует новый экземпляр класса GraphicsPath с перечислением FillMode из Alternate
Свойства
FillModeПолучает или задает перечисление FillMode, определяющее, как заполняются внутренние области фигур в объекте GraphicsPath
PathPoints Получает точки в контуре
PathTypes Получает типы соответствующих точек в массиве PathPoints
PointCount Получает число элементов в массиве PathPoints или PathTypes
Методы
AddArcПрисоединяет дугу эллипса к текущей фигуре
AddBezier Добавляет в текущую фигуру кривую Безье третьего порядка
AddBeziers Добавляет в текущую фигуру последовательность соединенных кривых Безье третьего порядка
AddClosedCurve Добавляет замкнутую кривую к данному контуру. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива
AddCurveДобавляет в текущую фигуру кривую сплайна. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива
AddEllipse Добавляет эллипс к текущему пути
AddLine Добавляет отрезок прямой к объекту GraphicsPath
AddLines Добавляет последовательность соединенных отрезков прямых в конец объекта GraphicsPath
AddPath Добавляет указанный объект GraphicsPath к данному контуру
AddPie Добавляет контур сектора к данному контуру
AddPolygon Добавляет многоугольник к данному контуру
AddRectangle Добавляет прямоугольник к данному контуру
AddRectangles Добавляет последовательность прямоугольников к данному контуру
AddString Добавляет строку текста в данный путь
ClearMarkers Удаляет все маркеры из данного контура
Clone Создает точную копию данного контура
CloseAllFigures Замыкает все незамкнутые фигуры в данном контуре и открывает новую фигуру. Каждая незамкнутая фигура замыкается путем соединения ее начальной и конечной точек линией
CloseFigure Замыкает текущую фигуру и открывает новую. Если текущая фигура содержит последовательность соединенных линий и кривых, то метод замыкает ее путем соединения начальной и конечной точек линией
CreateObjRef (унаследовано от Marshal By RefObject)Создает объект, который содержит всю необходимую информацию для конструирования прокси-сервера, используемого для коммуникации с удаленными объектами
Dispose Освобождает все ресурсы, используемые объектом GraphicsPath
Equals (унаследовано от Object) Определяет, равны ли два экземпляра Object
Flatten Преобразует каждую кривую в данном контуре в последовательность соединенных отрезков прямых
GetBounds Возвращает прямоугольник, ограничивающий объект GraphicsPath
GetHashCode (унаследовано от Object) Служит хэш-функцией для конкретного типа, пригоден для использования в алгоритмах хэширования и структурах данных, например, в хэш-таблице
GetLastPoint Получает последнюю точку массива PathPoints объекта GraphicsPath
GetLifetimeService (унаследовано от MarshalByRefObject) Извлекает служебный объект текущего срока действия, который управляет средствами срока действия данного экземпляра
GetType (унаследовано от Object)Возвращает Type текущего экземпляра
InitializeLifetimeService (унаследовано от MarshalByRefObject) Получает служебный объект срока действия, для управления средствами срока действия данного экземпляра
IsOutlineVisible Указывает, содержится ли определенная точка внутри (под) контура объекта GraphicsPath при отображении его с помощью указанного объекта Pen
IsVisible Определяет, содержится ли указанная точка в объекте GraphicsPath
Reset Очищает массивы PathPoints и PathTypes и устанавливает FillMode в Alternate
Reverse Изменяет порядок точек в массиве PathPoints объекта GraphicsPath на противоположный
SetMarkers Устанавливает маркер на объекте GraphicsPath
StartFigure Открывает новую фигуру, не замыкая при этом текущую. Все последующие точки, добавляемые к контуру, добавляются к новой фигуре
ToString (унаследовано от Object) Возвращает String, который представляет текущий Object
Transform Применяет матрицу преобразования к объекту GraphicsPath
Warp Применяет преобразование перекоса, определяемое прямоугольником и параллелограммом, к объекту GraphicsPath
Widen Заменяет данный контур кривыми, которые окружают область, заполняемую при отображении контура указанным пером
Защищенные методы
FinalizeПереопределен. См. Object.Finalize.

В языках C# и C++ для функций финализации используется синтаксис деструктора

MemberwiseClone (унаследовано от Object) Создает неполную копию текущего Object

Назад Оглавление Вперёд

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...