DrawCurve Method (Pen, PointF[])

Graphics.DrawCurve Method (Pen, PointF[])

 

Draws a cardinal spline through a specified array of PointF structures.

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

public void DrawCurve(
	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 define the spline.

Exception Condition
ArgumentNullException

pen is null.

-or-

points is null.

This method draws a cardinal spline that passes through each point in the array.

The array of points must contain at least three PointF structures for a curve to be drawn.

This method uses a default tension of 0.5.

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 red and green pens.

  • Creates seven points to define a curve.

  • Draws six red straight lines between the seven points to form an incomplete polygon.

  • Draws an open green curve through the seven points.

The method uses a default tension of 0.5.

private void DrawCurvePointF(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    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};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints);
}

.NET Framework
Available since 1.1
Return to top
Show:
© 2016 Microsoft