Graphics::D rawClosedCurve (constPen*,constPointF*,INT) 方法 (gdiplusgraphics.h)

Graphics::D rawClosedCurve 方法绘制闭合的基数样条。

语法

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

parameters

pen

指向用于绘制闭合基数样条的笔的指针。

points

指向 PointF 对象数组的指针,这些对象指定闭合基数样条的坐标。 PointF 对象的数组必须至少包含三个元素。

count

指定 数组中的元素数的整数。

返回值

如果该方法成功,则返回 Ok,这是 Status 枚举的元素。

如果方法失败,它将返回 Status 枚举的其他元素之一。

注解

每个终点是下一个基数样条的起点。 在闭合基数样条中,曲线继续穿过 数组中的最后一个点,并与数组中的第一个点连接。

示例

以下示例绘制一条闭合的基数样条。

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

要求

   
标头 gdiplusgraphics.h

另请参阅

基数样条

DrawCurve 方法

绘制基数样条

FillClosedCurve 方法

显卡

PointF