This documentation is archived and is not being maintained.

Graphics.DrawBezier Method (Pen, Single, Single, Single, Single, Single, Single, Single, Single)

Draws a Bézier spline defined by four ordered pairs of coordinates that represent points.

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

public void DrawBezier(
	Pen pen,
	float x1,
	float y1,
	float x2,
	float y2,
	float x3,
	float y3,
	float x4,
	float y4
)

Parameters

pen
Type: System.Drawing.Pen
Pen that determines the color, width, and style of the curve.
x1
Type: System.Single
The x-coordinate of the starting point of the curve.
y1
Type: System.Single
The y-coordinate of the starting point of the curve.
x2
Type: System.Single
The x-coordinate of the first control point of the curve.
y2
Type: System.Single
The y-coordinate of the first control point of the curve.
x3
Type: System.Single
The x-coordinate of the second control point of the curve.
y3
Type: System.Single
The y-coordinate of the second control point of the curve.
x4
Type: System.Single
The x-coordinate of the ending point of the curve.
y4
Type: System.Single
The y-coordinate of the ending point of the curve.

ExceptionCondition
ArgumentNullException

pen is null.

The Bézier spline is drawn from the first point to the fourth point. The second and third points are control points that determine the shape of the 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 coordinates of the start, end, and two control points for the curve.

  • Draws the Bézier curve to the screen.


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

    // Create coordinates of points for curve.
    float startX = 100.0F;
    float startY = 100.0F;
    float controlX1 = 200.0F;
    float controlY1 =  10.0F;
    float controlX2 = 350.0F;
    float controlY2 =  50.0F;
    float endX = 500.0F;
    float endY = 100.0F;

    // Draw arc to screen.
    e.Graphics.DrawBezier(blackPen, startX, startY,
        controlX1, controlY1,
        controlX2, controlY2,
        endX, endY);
}


.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: