This documentation is archived and is not being maintained.

Graphics.FillPolygon Method (Brush, PointF[], FillMode)

Fills the interior of a polygon defined by an array of points specified by PointF structures using the specified fill mode.

Namespace: System.Drawing
Assembly: System.Drawing (in system.drawing.dll)

public void FillPolygon (
	Brush brush,
	PointF[] points,
	FillMode fillMode
)
public void FillPolygon (
	Brush brush, 
	PointF[] points, 
	FillMode fillMode
)
public function FillPolygon (
	brush : Brush, 
	points : PointF[], 
	fillMode : FillMode
)
Not applicable.

Parameters

brush

Brush that determines the characteristics of the fill.

points

Array of PointF structures that represent the vertices of the polygon to fill.

fillMode

Member of the FillMode enumeration that determines the style of the fill.

Exception typeCondition

ArgumentNullException

brush is a null reference (Nothing in Visual Basic).

-or-

points is a null reference (Nothing in Visual Basic).

Every two consecutive points in the array specify a side of the polygon. In addition, if the last point and the first point do not coincide, they specify the closing side of the polygon.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. The code performs the following action:

  • Creates a solid blue brush.

  • Creates an array of seven points to define a polygon.

  • Sets the fill mode to Winding.

  • Fills the polygonal area on the screen.

public void FillPolygonPointFFillMode(PaintEventArgs e)
{

    // Create solid brush.
    SolidBrush blueBrush = new SolidBrush(Color.Blue);

    // Create points that define polygon.
    PointF point1 = new PointF(50.0F, 50.0F);
    PointF point2 = new PointF(100.0F, 25.0F);
    PointF point3 = new PointF(200.0F, 5.0F);
    PointF point4 = new PointF(250.0F, 50.0F);
    PointF point5 = new PointF(300.0F, 100.0F);
    PointF point6 = new PointF(350.0F, 200.0F);
    PointF point7 = new PointF(250.0F, 250.0F);
    PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Define fill mode.
    FillMode newFillMode = FillMode.Winding;

    // Fill polygon to screen.
    e.Graphics.FillPolygon(blueBrush, curvePoints, newFillMode);
}

public void FillPolygonPointFFillMode(PaintEventArgs e) 
{
    // Create solid brush.
    SolidBrush blueBrush =  new SolidBrush(Color.get_Blue());

    // Create points that define polygon.
    PointF point1 =  new PointF(50, 50);
    PointF point2 =  new PointF(100, 25);
    PointF point3 =  new PointF(200, 5);
    PointF point4 =  new PointF(250, 50);
    PointF point5 =  new PointF(300, 100);
    PointF point6 =  new PointF(350, 200);
    PointF point7 =  new PointF(250, 250);
    PointF curvePoints[] =  {point1, point2, point3, point4, point5, 
                            point6, point7};

    // Define fill mode.
    FillMode newFillMode = FillMode.Winding;

    // Fill polygon to screen.
    e.get_Graphics().FillPolygon(blueBrush, curvePoints, newFillMode);
} //FillPolygonPointFFillMode

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Show: