Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
GraphicsPath Class
 AddClosedCurve Method (Point[], Sin...

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
GraphicsPath..::.AddClosedCurve Method (array<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)
Visual Basic (Declaration)
Public Sub AddClosedCurve ( _
    points As Point(), _
    tension As Single _
)
Visual Basic (Usage)
Dim instance As GraphicsPath
Dim points As Point()
Dim tension As Single

instance.AddClosedCurve(points, tension)
C#
public void AddClosedCurve(
    Point[] points,
    float tension
)
Visual C++
public:
void AddClosedCurve(
    array<Point>^ points, 
    float tension
)
JScript
public function AddClosedCurve(
    points : Point[], 
    tension : float
)

Parameters

points
Type: array<System.Drawing..::.Point>[]()[]
An array of Point structures that represents the points that define the curve.
tension
Type: System..::.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.

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

Visual Basic
Public Sub AddClosedCurveExample(ByVal e As PaintEventArgs)

    ' Creates a symetrical, 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

C#
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);
}

Visual C++
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 );
   }

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker