Поделиться через


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

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

Графика

DrawBezier

Методы DrawBeziers

Перо

Рисование сплайнов Безье

Безье Сплайнс