Метод Graphics::D rawClosedCurve(constPen*,constPoint*,INT,REAL) (gdiplusgraphics.h)

Метод Graphics::D rawClosedCurve рисует замкнутый кардинальный сплайн.

Синтаксис

Status DrawClosedCurve(
  [in] const Pen   *pen,
  [in] const Point *points,
  [in] INT         count,
  [in] REAL        tension
);

Параметры

[in] pen

Тип: константное перо*

Указатель на перо, используемое для рисования закрытого кардинальных сплайнов.

[in] points

Тип: const Point*

Указатель на массив объектов Point , указывающих координаты закрытого кратного сплайна. Массив объектов Point должен содержать не менее трех элементов.

[in] count

Тип: INT

Целое число, указывающее количество элементов в массиве точек .

[in] tension

Тип: REAL

Вещественное число, указывающее, насколько сильно кривая изгибается через координаты закрытого кардинальных сплайна.

Возвращаемое значение

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .

Если метод завершается сбоем, он возвращает один из других элементов перечисления Status .

Комментарии

Каждая конечная точка является отправной точкой для следующего кратного сплайна. В замкнутом кратном сплайне кривая продолжается через последнюю точку массива точек и соединяется с первой точкой в массиве.

Примеры

В следующем примере рисуется замкнутый кардинальный сплайн.


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

   // Define a Pen object and an array of Point objects.
   Pen greenPen(Color(255, 0, 0, 255), 3);
   Point point1(100, 100);
   Point point2(200, 50);
   Point point3(400, 10);
   Point point4(500, 100);
   Point point5(600, 200);
   Point point6(700, 400);
   Point point7(500, 500);

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows XP, Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusgraphics.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

Кардинальные сплайны

Методы DrawCurve

Рисование кардинальных сплайнов

Методы FillClosedCurve

Графика

Перо

Point