Поделиться через


GraphicsPath Класс

Определение

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

public ref class GraphicsPath sealed : MarshalByRefObject, ICloneable, IDisposable
public sealed class GraphicsPath : MarshalByRefObject, ICloneable, IDisposable
type GraphicsPath = class
    inherit MarshalByRefObject
    interface ICloneable
    interface IDisposable
Public NotInheritable Class GraphicsPath
Inherits MarshalByRefObject
Implements ICloneable, IDisposable
Наследование
GraphicsPath
Реализации

Комментарии

Примечание

В .NET 6 и более поздних версиях пакет System.Drawing.Common, включающий этот тип, поддерживается только в операционных системах Windows. Использование этого типа в кроссплатформенных приложениях вызывает предупреждения во время компиляции и исключения во время выполнения. Дополнительные сведения см . в статье System.Drawing.Common, поддерживаемая только в Windows.

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

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

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

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

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

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

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

Конструкторы

GraphicsPath()

Инициализирует новый экземпляр класса GraphicsPath со значением FillMode для объекта Alternate.

GraphicsPath(FillMode)

Инициализирует новый экземпляр класса GraphicsPath с указанным перечислением FillMode.

GraphicsPath(Point[], Byte[])

Инициализирует новый экземпляр класса GraphicsPath с заданными массивами PathPointType и Point.

GraphicsPath(Point[], Byte[], FillMode)

Инициализирует новый экземпляр класса GraphicsPath с указанными массивами PathPointType и Point и с заданным элементом перечисления FillMode.

GraphicsPath(PointF[], Byte[])

Инициализирует новый экземпляр массива GraphicsPath с заданными массивами PathPointType и PointF.

GraphicsPath(PointF[], Byte[], FillMode)

Инициализирует новый экземпляр массива GraphicsPath с указанными массивами PathPointType и PointF и заданным элементом перечисления FillMode.

GraphicsPath(ReadOnlySpan<Point>, ReadOnlySpan<Byte>, FillMode)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

GraphicsPath(ReadOnlySpan<PointF>, ReadOnlySpan<Byte>, FillMode)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

Свойства

FillMode

Получает или задает перечисление FillMode, определяющее, как заполняются внутренние области фигур в этом объекте GraphicsPath.

PathData

Получает объект PathData, инкапсулирующий массивы точек (points) и типов (types) для этого объекта GraphicsPath.

PathPoints

Получает точки в контуре.

PathTypes

Получает типы соответствующих точек в массиве PathPoints.

PointCount

Получает число элементов в массиве PathPoints или PathTypes.

Методы

AddArc(Int32, Int32, Int32, Int32, Single, Single)

Присоединяет дугу эллипса к текущей фигуре.

AddArc(Rectangle, Single, Single)

Присоединяет дугу эллипса к текущей фигуре.

AddArc(RectangleF, Single, Single)

Присоединяет дугу эллипса к текущей фигуре.

AddArc(Single, Single, Single, Single, Single, Single)

Присоединяет дугу эллипса к текущей фигуре.

AddBezier(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Добавляет в текущую фигуру кривую Безье третьего порядка.

AddBezier(Point, Point, Point, Point)

Добавляет в текущую фигуру кривую Безье третьего порядка.

AddBezier(PointF, PointF, PointF, PointF)

Добавляет в текущую фигуру кривую Безье третьего порядка.

AddBezier(Single, Single, Single, Single, Single, Single, Single, Single)

Добавляет в текущую фигуру кривую Безье третьего порядка.

AddBeziers(Point[])

Добавляет в текущую фигуру последовательность соединенных кривых Безье третьего порядка.

AddBeziers(PointF[])

Добавляет в текущую фигуру последовательность соединенных кривых Безье третьего порядка.

AddBeziers(ReadOnlySpan<Point>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddBeziers(ReadOnlySpan<PointF>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddClosedCurve(Point[])

Добавляет замкнутую кривую к этому контуру. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.

AddClosedCurve(Point[], Single)

Добавляет замкнутую кривую к этому контуру. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.

AddClosedCurve(PointF[])

Добавляет замкнутую кривую к этому контуру. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.

AddClosedCurve(PointF[], Single)

Добавляет замкнутую кривую к этому контуру. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.

AddClosedCurve(ReadOnlySpan<Point>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddClosedCurve(ReadOnlySpan<Point>, Single)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddClosedCurve(ReadOnlySpan<PointF>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddClosedCurve(ReadOnlySpan<PointF>, Single)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddCurve(Point[])

Добавляет в текущую фигуру кривую сплайна. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.

AddCurve(Point[], Int32, Int32, Single)

Добавляет в текущую фигуру кривую сплайна.

AddCurve(Point[], Single)

Добавляет в текущую фигуру кривую сплайна.

AddCurve(PointF[])

Добавляет в текущую фигуру кривую сплайна. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.

AddCurve(PointF[], Int32, Int32, Single)

Добавляет в текущую фигуру кривую сплайна.

AddCurve(PointF[], Single)

Добавляет в текущую фигуру кривую сплайна.

AddCurve(ReadOnlySpan<Point>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddCurve(ReadOnlySpan<Point>, Single)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddCurve(ReadOnlySpan<PointF>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddCurve(ReadOnlySpan<PointF>, Single)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddEllipse(Int32, Int32, Int32, Int32)

Добавляет эллипс в текущий контур.

AddEllipse(Rectangle)

Добавляет эллипс в текущий контур.

AddEllipse(RectangleF)

Добавляет эллипс в текущий контур.

AddEllipse(Single, Single, Single, Single)

Добавляет эллипс в текущий контур.

AddLine(Int32, Int32, Int32, Int32)

Добавляет отрезок прямой к текущей фигуре.

AddLine(Point, Point)

Добавляет отрезок прямой к этому объекту GraphicsPath.

AddLine(PointF, PointF)

Добавляет отрезок прямой к этому объекту GraphicsPath.

AddLine(Single, Single, Single, Single)

Добавляет отрезок прямой к этому объекту GraphicsPath.

AddLines(Point[])

Добавляет последовательность соединенных отрезков прямых в конец этого объекта GraphicsPath.

AddLines(PointF[])

Добавляет последовательность соединенных отрезков прямых в конец этого объекта GraphicsPath.

AddLines(ReadOnlySpan<Point>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddLines(ReadOnlySpan<PointF>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddPath(GraphicsPath, Boolean)

Добавляет указанный объект GraphicsPath к этому контуру.

AddPie(Int32, Int32, Int32, Int32, Single, Single)

Добавляет контур сектора к данному контуру.

AddPie(Rectangle, Single, Single)

Добавляет контур сектора к данному контуру.

AddPie(Single, Single, Single, Single, Single, Single)

Добавляет контур сектора к данному контуру.

AddPolygon(Point[])

Добавляет многоугольник к этому контуру.

AddPolygon(PointF[])

Добавляет многоугольник к этому контуру.

AddPolygon(ReadOnlySpan<Point>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddPolygon(ReadOnlySpan<PointF>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddRectangle(Rectangle)

Добавляет прямоугольник к этому контуру.

AddRectangle(RectangleF)

Добавляет прямоугольник к этому контуру.

AddRectangles(ReadOnlySpan<Rectangle>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddRectangles(ReadOnlySpan<RectangleF>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddRectangles(Rectangle[])

Добавляет последовательность прямоугольников к данному контуру.

AddRectangles(RectangleF[])

Добавляет последовательность прямоугольников к данному контуру.

AddRoundedRectangle(Rectangle, Size)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddRoundedRectangle(RectangleF, SizeF)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

AddString(String, FontFamily, Int32, Single, Point, StringFormat)

Добавляет строку текста в этот контур.

AddString(String, FontFamily, Int32, Single, PointF, StringFormat)

Добавляет строку текста в этот контур.

AddString(String, FontFamily, Int32, Single, Rectangle, StringFormat)

Добавляет строку текста в этот контур.

AddString(String, FontFamily, Int32, Single, RectangleF, StringFormat)

Добавляет строку текста в этот контур.

ClearMarkers()

Удаляет все токены из этого контура.

Clone()

Создает точную копию этого контура.

CloseAllFigures()

Замыкает все незамкнутые фигуры в этом контуре и открывает новую фигуру. Каждая незамкнутая фигура замыкается путем соединения ее начальной и конечной точек линией.

CloseFigure()

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

CreateObjRef(Type)

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

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, используемые этим объектом GraphicsPath.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Finalize()

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

Flatten()

Преобразует каждую кривую в данном контуре в последовательность соединенных отрезков прямых.

Flatten(Matrix)

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

Flatten(Matrix, Single)

Преобразует каждую кривую в этом объекте GraphicsPath в последовательность соединенных отрезков прямых.

GetBounds()

Возвращает прямоугольник, ограничивающий этот объект GraphicsPath.

GetBounds(Matrix)

Возвращает ограничивающий прямоугольник для этого объекта GraphicsPath, когда данный контур преобразуется с помощью указанного объекта Matrix.

GetBounds(Matrix, Pen)

Возвращает ограничивающий прямоугольник для этого объекта GraphicsPath, когда данный контур преобразуется с помощью указанного объекта Matrix и отображается с помощью заданного объекта Pen.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLastPoint()

Получает последнюю точку массива PathPoints для этого объекта GraphicsPath.

GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetPathPoints(Span<PointF>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

GetPathTypes(Span<Byte>)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
IsOutlineVisible(Int32, Int32, Pen)

Указывает, содержится ли определенная точка внутри контура этого объекта GraphicsPath при его отображении с помощью указанного объекта Pen.

IsOutlineVisible(Int32, Int32, Pen, Graphics)

Указывает, содержится ли определенная точка внутри контура этого объекта GraphicsPath при его отображении с помощью указанного объекта Pen и использовании заданного объекта Graphics.

IsOutlineVisible(Point, Pen)

Указывает, содержится ли определенная точка внутри контура этого объекта GraphicsPath при его отображении с помощью указанного объекта Pen.

IsOutlineVisible(Point, Pen, Graphics)

Указывает, содержится ли определенная точка внутри контура этого объекта GraphicsPath при его отображении с помощью указанного объекта Pen и использовании заданного объекта Graphics.

IsOutlineVisible(PointF, Pen)

Указывает, содержится ли определенная точка внутри контура этого объекта GraphicsPath при его отображении с помощью указанного объекта Pen.

IsOutlineVisible(PointF, Pen, Graphics)

Указывает, содержится ли определенная точка внутри контура этого объекта GraphicsPath при его отображении с помощью указанного объекта Pen и использовании заданного объекта Graphics.

IsOutlineVisible(Single, Single, Pen)

Указывает, содержится ли определенная точка внутри контура этого объекта GraphicsPath при его отображении с помощью указанного объекта Pen.

IsOutlineVisible(Single, Single, Pen, Graphics)

Указывает, содержится ли определенная точка внутри контура этого объекта GraphicsPath при его отображении с помощью указанного объекта Pen и использовании заданного объекта Graphics.

IsVisible(Int32, Int32)

Указывает, содержится ли указанная точка внутри этого объекта GraphicsPath.

IsVisible(Int32, Int32, Graphics)

Указывает, содержится ли указанная точка внутри этого объекта GraphicsPath, путем использования заданного объекта Graphics.

IsVisible(Point)

Указывает, содержится ли указанная точка внутри этого объекта GraphicsPath.

IsVisible(Point, Graphics)

Указывает, содержится ли указанная точка внутри этого объекта GraphicsPath.

IsVisible(PointF)

Указывает, содержится ли указанная точка внутри этого объекта GraphicsPath.

IsVisible(PointF, Graphics)

Указывает, содержится ли указанная точка внутри этого объекта GraphicsPath.

IsVisible(Single, Single)

Указывает, содержится ли указанная точка внутри этого объекта GraphicsPath.

IsVisible(Single, Single, Graphics)

Указывает, содержится ли указанная точка внутри этого объекта GraphicsPath в видимой вырезанной области заданного объекта Graphics.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
Reset()

Очищает массивы PathPoints и PathTypes и устанавливает FillMode в Alternate.

Reverse()

Изменяет порядок точек в массиве PathPoints этого объекта GraphicsPath на противоположный.

SetMarkers()

Устанавливает токен на этом объекте GraphicsPath.

StartFigure()

Открывает новую фигуру, не замыкая при этом текущую фигуру. Все последующие точки, добавляемые к контуру, добавляются к этой новой фигуре.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
Transform(Matrix)

Применяет матрицу преобразования к этому объекту GraphicsPath.

Warp(PointF[], RectangleF)

Применяет преобразование перекоса, определяемое прямоугольником и параллелограммом, к этому объекту GraphicsPath.

Warp(PointF[], RectangleF, Matrix)

Применяет преобразование перекоса, определяемое прямоугольником и параллелограммом, к этому объекту GraphicsPath.

Warp(PointF[], RectangleF, Matrix, WarpMode)

Применяет преобразование перекоса, определяемое прямоугольником и параллелограммом, к этому объекту GraphicsPath.

Warp(PointF[], RectangleF, Matrix, WarpMode, Single)

Применяет преобразование перекоса, определяемое прямоугольником и параллелограммом, к этому объекту GraphicsPath.

Warp(ReadOnlySpan<PointF>, RectangleF, Matrix, WarpMode, Single)

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

Widen(Pen)

Добавляет дополнительное очертание к контуру.

Widen(Pen, Matrix)

Добавляет дополнительное очертание в объект GraphicsPath.

Widen(Pen, Matrix, Single)

Заменяет данный объект GraphicsPath кривыми, окружающими область, заполняемую при отображении контура указанным пером.

Применяется к

См. также раздел