Graphics::DrawCurve Method (Pen^, array<Point>^)

 

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

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

public:
void DrawCurve(
	Pen^ pen,
	array<Point>^ points
)

Parameters

pen
Type: System.Drawing::Pen^

Pen that determines the color, width, and height of the curve.

points
Type: array<System.Drawing::Point>^

Array of Point 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 Point 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 DrawCurvePoint( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      Point point1 = Point(50,50);
      Point point2 = Point(100,25);
      Point point3 = Point(200,5);
      Point point4 = Point(250,50);
      Point point5 = Point(300,100);
      Point point6 = Point(350,200);
      Point point7 = Point(250,250);
      array<Point>^ 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: