Share via


Procedimiento para rellenar figuras abiertas

Para rellenar un trazado, pase un objeto GraphicsPath al método FillPath. El método FillPath rellena el trazado según el modo de relleno (alternativo o devanado) establecido actualmente para el trazado. Si el trazado tiene figuras abiertas, este se rellena como si esas figuras estuvieran cerradas. GDI+ cierra una figura dibujando una línea recta desde su punto final hasta su punto inicial.

Ejemplo

En el ejemplo siguiente se crea un trazado que tiene una figura abierta (un arco) y una cerrada (una elipse). El método FillPath rellena el trazado según el modo de relleno predeterminado, que es Alternate.

En la imagen siguiente se muestra el resultado del código de ejemplo. Tenga en cuenta que el trazado se rellena (según Alternate) como si la figura abierta estuviera cerrada por una línea recta desde su punto final hasta su punto inicial.

Diagrama que muestra la salida del método FillPath

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)

Compilar el código

El ejemplo anterior está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint.

Consulte también