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 | Заменяет данный контур кривыми, которые окружают область, заполняемую при отображении контура указанным пером |