This documentation is archived and is not being maintained.

GraphicsPath.AddClosedCurve Method (Point[], Single)

Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array.

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

public void AddClosedCurve (
	Point[] points,
	float tension
)
public void AddClosedCurve (
	Point[] points, 
	float tension
)
public function AddClosedCurve (
	points : Point[], 
	tension : float
)
Not applicable.

Parameters

points

An array of Point structures that represents the points that define the curve.

tension

A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve.

The user must keep the original points if they are needed. The original points are converted to cubic Bézier control points internally, therefore there is no mechanism for returning the original points. If the first point and the last point in the points array are not the same point, the curve is closed by connecting these two points.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. The code performs the following actions:

  • Creates an array of six points (representing a cardinal spline).

  • Creates a path and adds the closed cardinal spline curves to the path (closed from the endpoint to the starting point).

  • Draws the path to screen.

Notice that a tension of 0.5 is used.

private void AddClosedCurveExample(PaintEventArgs e)
{
             
    // Creates a symetrical, closed curve.
    Point[] myArray =
             {
                 new Point(20,100),
                 new Point(40,150),
                 new Point(60,125),
                 new Point(40,100),
                 new Point(60,75),
                 new Point(40,50)
             };
             
    // Create a new path and add curve.
    GraphicsPath myPath = new GraphicsPath();
    myPath.AddClosedCurve(myArray,.5f);
    Pen myPen = new Pen(Color.Black, 2);
             
    // Draw the path to screen.
    e.Graphics.DrawPath(myPen, myPath);
}

private void AddClosedCurveExample(PaintEventArgs e)
{
    // Creates a symetrical, closed curve.
    Point myArray[] = { new Point(20, 100), new Point(40, 150), 
                        new Point(60, 125), new Point(40, 100),
                        new Point(60, 75),    new Point(40, 50) };

    // Create a new path and add curve.
    GraphicsPath myPath = new GraphicsPath();

    myPath.AddClosedCurve(myArray, 0.5F);

    Pen myPen = new Pen(Color.get_Black(), 2);

    // Draw the path to screen.
    e.get_Graphics().DrawPath(myPen, myPath);
} //AddClosedCurveExample

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: