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.

Exception Condition
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 PaintEventArgse, 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
Available since 1.1
Return to top
Show: