Метод Graphics::D rawClosedCurve(constPen*,constPointF*,INT,REAL) (gdiplusgraphics.h)
Метод Graphics::D rawClosedCurve рисует замкнутый кардинальный сплайн.
Синтаксис
Status DrawClosedCurve(
[in] const Pen *pen,
[in] const PointF *points,
[in] INT count,
[in] REAL tension
);
Параметры
[in] pen
Тип: константное перо*
Указатель на перо, используемое для рисования закрытого кардинальных сплайнов.
[in] points
Тип: const PointF*
Указатель на массив объектов PointF , указывающий координаты закрытого кратного сплайна. Массив объектов PointF должен содержать не менее трех элементов.
[in] count
Тип: INT
Целое число, указывающее количество элементов в массиве точек .
[in] tension
Тип: REAL
Вещественное число, указывающее, насколько сильно кривая изгибается через координаты закрытого кардинальных сплайна.
Возвращаемое значение
Тип: Состояние
В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .
Если метод завершается сбоем, он возвращает один из других элементов перечисления Status .
Комментарии
Каждая конечная точка является отправной точкой для следующего кратного сплайна. В замкнутом кратном сплайне кривая продолжается через последнюю точку массива точек и соединяется с первой точкой в массиве.
Примеры
В следующем примере рисуется замкнутый кардинальный сплайн.
VOID Example_DrawClosedCurve4(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, 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 |