This documentation is archived and is not being maintained.

Graphics.DrawBeziers Method (Pen, PointF[])

Draws a series of Bézier splines from an array of PointF structures.

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

public void DrawBeziers(
	Pen pen,
	PointF[] points
)

Parameters

pen
Type: System.Drawing.Pen
Pen that determines the color, width, and style of the curve.
points
Type: System.Drawing.PointF[]
Array of PointF structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10.

ExceptionCondition
ArgumentNullException

pen is null.

-or-

points is null.

The number of points in the array should be a multiple of 3 plus 1 because the first spline requires 4 points and any other splines require 3 points each. The first Bézier curve is drawn from the first point to the fourth point in the point array. The second and third points are control points that determine the shape of the curve. Each subsequent curve needs exactly three more points: two more control points and an ending point. The ending point of the previous curve is used as the starting point for each additional curve.

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

  • Creates a black pen.

  • Creates the start, end, and two control points for a first curve and endpoint and two control points for a second curve.

  • Draws the successive Bézier curves to the screen.


private void DrawBeziersPointF(PaintEventArgs e)
{
    // Create pen.
    Pen blackPen = new Pen(Color.Black, 3);

    // Create points for curve.
    PointF start = new PointF(100.0F, 100.0F);
    PointF control1 = new PointF(200.0F, 10.0F);
    PointF control2 = new PointF(350.0F, 50.0F);
    PointF end1 = new PointF(500.0F, 100.0F);
    PointF control3 = new PointF(600.0F, 150.0F);
    PointF control4 = new PointF(650.0F, 250.0F);
    PointF end2 = new PointF(500.0F, 300.0F);
    PointF[] bezierPoints = { start, control1, control2, end1,
         control3, control4, end2 };      

    // Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints);
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: