GraphicsPath.AddClosedCurve Method

Definition

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.

Overloads

AddClosedCurve(Point[])

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.

AddClosedCurve(PointF[])

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.

AddClosedCurve(ReadOnlySpan<Point>)
AddClosedCurve(ReadOnlySpan<PointF>)
AddClosedCurve(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.

AddClosedCurve(PointF[], 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.

AddClosedCurve(ReadOnlySpan<Point>, Single)
AddClosedCurve(ReadOnlySpan<PointF>, Single)

AddClosedCurve(Point[])

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.

public:
 void AddClosedCurve(cli::array <System::Drawing::Point> ^ points);
public:
 void AddClosedCurve(... cli::array <System::Drawing::Point> ^ points);
public void AddClosedCurve (System.Drawing.Point[] points);
public void AddClosedCurve (params System.Drawing.Point[] points);
member this.AddClosedCurve : System.Drawing.Point[] -> unit
Public Sub AddClosedCurve (points As Point())
Public Sub AddClosedCurve (ParamArray points As Point())

Parameters

points
Point[]

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

Examples

For an example, see AddClosedCurve(Point[], Single).

Remarks

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 tension value cannot be set for this method, and defaults to a value equivalent to 0.5.

Applies to

AddClosedCurve(PointF[])

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.

public:
 void AddClosedCurve(cli::array <System::Drawing::PointF> ^ points);
public:
 void AddClosedCurve(... cli::array <System::Drawing::PointF> ^ points);
public void AddClosedCurve (System.Drawing.PointF[] points);
public void AddClosedCurve (params System.Drawing.PointF[] points);
member this.AddClosedCurve : System.Drawing.PointF[] -> unit
Public Sub AddClosedCurve (points As PointF())
Public Sub AddClosedCurve (ParamArray points As PointF())

Parameters

points
PointF[]

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

Examples

For an example, see AddClosedCurve(Point[], Single).

Remarks

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 tension value cannot be set for this method, and defaults to a value equivalent to 0.5.

Applies to

AddClosedCurve(ReadOnlySpan<Point>)

public:
 void AddClosedCurve(ReadOnlySpan<System::Drawing::Point> points);
public void AddClosedCurve (ReadOnlySpan<System.Drawing.Point> points);
member this.AddClosedCurve : ReadOnlySpan<System.Drawing.Point> -> unit
Public Sub AddClosedCurve (points As ReadOnlySpan(Of Point))

Parameters

Applies to

AddClosedCurve(ReadOnlySpan<PointF>)

public:
 void AddClosedCurve(ReadOnlySpan<System::Drawing::PointF> points);
public void AddClosedCurve (ReadOnlySpan<System.Drawing.PointF> points);
member this.AddClosedCurve : ReadOnlySpan<System.Drawing.PointF> -> unit
Public Sub AddClosedCurve (points As ReadOnlySpan(Of PointF))

Parameters

Applies to

AddClosedCurve(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.

public:
 void AddClosedCurve(cli::array <System::Drawing::Point> ^ points, float tension);
public void AddClosedCurve (System.Drawing.Point[] points, float tension);
member this.AddClosedCurve : System.Drawing.Point[] * single -> unit
Public Sub AddClosedCurve (points As Point(), tension As Single)

Parameters

points
Point[]

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

tension
Single

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.

Examples

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, 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.
      array<Point>^ myArray = {Point(20,100),Point(40,150),Point(60,125),Point(40,100),Point(60,75),Point(40,50)};

      // Create a new path and add curve.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      myPath->AddClosedCurve( myArray, .5f );
      Pen^ myPen = gcnew Pen( Color::Black,2.0f );

      // Draw the path to screen.
      e->Graphics->DrawPath( myPen, myPath );
   }
private void AddClosedCurveExample(PaintEventArgs e)
{
             
    // Creates a symmetrical, 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);
}
Public Sub AddClosedCurveExample(ByVal e As PaintEventArgs)

    ' Creates a symmetrical, closed curve.
    Dim myArray As Point() = {New Point(20, 100), New Point(40, 150), _
    New Point(60, 125), New Point(40, 100), New Point(60, 75), _
    New Point(40, 50)}
    Dim myPath As New GraphicsPath
    myPath.AddClosedCurve(myArray, 0.5F)
    Dim myPen As New Pen(Color.Black, 2)
    e.Graphics.DrawPath(myPen, myPath)
End Sub

Remarks

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.

Applies to

AddClosedCurve(PointF[], 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.

public:
 void AddClosedCurve(cli::array <System::Drawing::PointF> ^ points, float tension);
public void AddClosedCurve (System.Drawing.PointF[] points, float tension);
member this.AddClosedCurve : System.Drawing.PointF[] * single -> unit
Public Sub AddClosedCurve (points As PointF(), tension As Single)

Parameters

points
PointF[]

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

tension
Single

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.

Examples

For an example, see AddClosedCurve(Point[], Single).

Remarks

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.

Applies to

AddClosedCurve(ReadOnlySpan<Point>, Single)

public:
 void AddClosedCurve(ReadOnlySpan<System::Drawing::Point> points, float tension);
public void AddClosedCurve (ReadOnlySpan<System.Drawing.Point> points, float tension);
member this.AddClosedCurve : ReadOnlySpan<System.Drawing.Point> * single -> unit
Public Sub AddClosedCurve (points As ReadOnlySpan(Of Point), tension As Single)

Parameters

tension
Single

Applies to

AddClosedCurve(ReadOnlySpan<PointF>, Single)

public:
 void AddClosedCurve(ReadOnlySpan<System::Drawing::PointF> points, float tension);
public void AddClosedCurve (ReadOnlySpan<System.Drawing.PointF> points, float tension);
member this.AddClosedCurve : ReadOnlySpan<System.Drawing.PointF> * single -> unit
Public Sub AddClosedCurve (points As ReadOnlySpan(Of PointF), tension As Single)

Parameters

tension
Single

Applies to