Graphics::DrawClosedCurve(constPen*,constPointF*,INT) method (gdiplusgraphics.h)

The Graphics::DrawClosedCurve method draws a closed cardinal spline.

Syntax

Status DrawClosedCurve(
  const Pen    *pen,
  const PointF *points,
  INT          count
);

Parameters

pen

Pointer to a pen that is used to draw the closed cardinal spline.

points

Pointer to an array of PointF objects that specify the coordinates of the closed cardinal spline. The array of PointF objects must contain a minimum of three elements.

count

Integer that specifies the number of elements in the points array.

Return value

If the method succeeds, it returns Ok, which is an element of the Status enumeration.

If the method fails, it returns one of the other elements of the Status enumeration.

Remarks

Each ending point is the starting point for the next cardinal spline. In a closed cardinal spline, the curve continues through the last point in the points array and connects with the first point in the array.

Examples

The following example draws a closed cardinal spline.

VOID Example_DrawClosedCurve3(HDC hdc)
{
   Graphics graphics(hdc);

   // Define a Pen object and an array of PointF objects.
   Pen greenPen(Color(255, 0, 0, 255), 3);
   PointF point1(100.0f, 100.0f);
   PointF point2(200.0f, 50.0f);
   PointF point3(400.0f, 10.0f);
   PointF point4(500.0f, 100.0f);
   PointF point5(600.0f, 200.0f);
   PointF point6(700.0f, 400.0f);
   PointF point7(500.0f, 500.0f);

   PointF curvePoints[7] = {
      point1,
      point2,
      point3,
      point4,
      point5,
      point6,
      point7};

   // Draw the closed curve.
   graphics.DrawClosedCurve(&greenPen, curvePoints, 7);

   // Draw the points in the curve.
   SolidBrush redBrush(Color(255, 255, 0, 0));
   graphics.FillEllipse(&redBrush, Rect(95, 95, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(495, 95, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(495, 495, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(195, 45, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(395, 5, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(595, 195, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(695, 395, 10, 10));
}

Requirements

Requirement Value
Header gdiplusgraphics.h

See also

Cardinal Splines

DrawCurve Methods

Drawing Cardinal Splines

FillClosedCurve Methods

Graphics

Pen

PointF