Graphics::D rawBezier(constPen*,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL)) (gdiplusgraphics.h)
Метод Graphics::D rawBezier рисует сплайн Безье.
Синтаксис
Status DrawBezier(
const Pen *pen,
REAL x1,
REAL y1,
REAL x2,
REAL y2,
REAL x3,
REAL y3,
REAL x4,
REAL y4
);
Параметры
pen
Указатель на перо, используемое для рисования сплайна Безье.
x1
Реальное число, указывающее координату X начальной точки сплайна Безье.
y1
Вещественное число, указывающее координату Y начальной точки сплайна Безье.
x2
Вещественное число, указывающее координату X первой контрольной точки сплайна Безье.
y2
Вещественное число, указывающее координату Y первой контрольной точки сплайна Безье.
x3
Вещественное число, указывающее координату X второй контрольной точки сплайна Безье.
y3
Вещественное число, указывающее координату Y второй контрольной точки сплайна Безье.
x4
Вещественное число, указывающее координату X конечной точки сплайна Безье.
y4
Вещественное число, указывающее координату Y конечной точки сплайна Безье.
Возвращаемое значение
В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .
Если метод завершается сбоем, он возвращает один из других элементов перечисления Status .
Комментарии
Сплайн Безье не проходит через свои контрольные точки. Контрольные точки действуют как магниты, вытягивая кривую в определенных направлениях, чтобы повлиять на то, как сплайн Безье изгибается.
Примеры
В следующем примере рисуется кривая Безье.
VOID Example_DrawBezier4(HDC hdc)
{
Graphics graphics(hdc);
// Set up the pen and curve points.
Pen greenPen(Color(255, 0, 255, 0));
REAL startPointx = 100.0f;
REAL startPointy = 100.0f;
REAL ctrlPoint1x = 200.0f;
REAL ctrlPoint1y = 10.0f;
REAL ctrlPoint2x = 350.0f;
REAL ctrlPoint2y = 50.0f;
REAL endPointx = 500.0f;
REAL endPointy = 100.0f;
//Draw the curve.
graphics.DrawBezier(
&greenPen,
startPointx,
startPointy,
ctrlPoint1x,
ctrlPoint1y,
ctrlPoint2x,
ctrlPoint2y,
endPointx,
endPointy);
//Draw the end points and control points.
SolidBrush redBrush(Color(255, 255, 0, 0));
SolidBrush blueBrush(Color(255, 0, 0, 255));
graphics.FillEllipse(&redBrush, 100 - 5, 100 - 5, 10, 10);
graphics.FillEllipse(&redBrush, 500 - 5, 100 - 5, 10, 10);
graphics.FillEllipse(&blueBrush, 200 - 5, 10 - 5, 10, 10);
graphics.FillEllipse(&blueBrush, 350 - 5, 50 - 5, 10, 10);
}
Требования
Требование | Значение |
---|---|
Заголовок | gdiplusgraphics.h |