FillMode Перечисление

Определение

Указывает, как заполняется внутренняя часть замкнутого контура.

public enum class FillMode
public enum FillMode
type FillMode = 
Public Enum FillMode
Наследование
FillMode

Поля

Alternate 0

Задает режим заполнения с чередованием.

Winding 1

Задает режим заполнения с поворотом.

Примеры

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

Заливка Открытый путь

Следующий пример предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика Paint событий.

GraphicsPath path = new GraphicsPath();

// Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120);

// Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100);

Pen pen = new Pen(Color.FromArgb(128, 0, 0, 255), 5);
SolidBrush brush = new SolidBrush(Color.Red);

// The fill mode is FillMode.Alternate by default.
e.Graphics.FillPath(brush, path);
e.Graphics.DrawPath(pen, path);
Dim path As New GraphicsPath()

' Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120)

' Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100)

Dim pen As New Pen(Color.FromArgb(128, 0, 0, 255), 5)
Dim brush As New SolidBrush(Color.Red)

' The fill mode is FillMode.Alternate by default.
e.Graphics.FillPath(brush, path)
e.Graphics.DrawPath(pen, path)

Комментарии

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

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

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

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

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

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