FillMode Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, как заполняется внутренний интерьер закрытого пути.
public enum class FillMode
public enum FillMode
type FillMode =
Public Enum 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)
Комментарии
Приложение заполняет интерьер пути одним из двух режимов заливки: альтернативным или обмоткой. Режим определяет, как заполнить и закрепить интерьер закрытой фигуры.
По умолчанию используется альтернативный режим. Чтобы определить интерьеры закрытых фигур в альтернативном режиме, нарисуйте линию из любой произвольной начальной точки в пути к определенной точке, очевидно, за пределами пути. Если линия пересекает нечетное число сегментов пути, начальная точка находится внутри закрытой области и поэтому является частью области заливки или вырезки. Четное число пересечений означает, что точка не находится в области, которую нужно заполнить или обрезать. Открытая фигура заполняется или обрезается с помощью строки для подключения последней точки к первой точке фигуры.
Режим ветвления учитывает направление сегментов пути на каждом пересечении. Он добавляет один для каждого пересечения по часовой стрелке и вычитает один для каждого пересечения счетчика. Если результат ненулевой, точка считается внутри области заливки или клипа. Нулевое число означает, что точка находится за пределами области заливки или клипа.
Фигура считается по часовой стрелке или по счетчику на основе порядка, в котором рисуются сегменты фигуры.