Российский Государственный Технологический Университет им. К.Э. Циолковского
Опубликован: 02.03.2007 | Доступ: свободный | Студентов: 5678 / 802 | Оценка: 3.96 / 3.45 | Длительность: 27:04:00
ISBN: 978-5-9556-0086-4
Лекция 17:

GDI+

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
kewezok kewezok
kewezok kewezok
Елена Шляхт
Елена Шляхт
Объясните плиз в чем отличие а++ от ++а
Почему результат разный?
int a=0, b=0;
Console.WriteLine(a++); //0
Console.WriteLine(++b); //1
a++;
++b;
Console.WriteLine(a); //2
Console.WriteLine(b); //2