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


Graphics::D rawBezier(constPen*,INT,INT,INT,INT,INT,INT) (gdiplusgraphics.h)

Метод Graphics::D rawBezier рисует линию Bézier.

Синтаксис

Status DrawBezier(
  [in] const Pen *pen,
  [in] INT       x1,
  [in] INT       y1,
  [in] INT       x2,
  [in] INT       y2,
  [in] INT       x3,
  [in] INT       y3,
  [in] INT       x4,
  [in] INT       y4
);

Параметры

[in] pen

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

Указатель на перо, которое используется для рисования сплайна Bézier.

[in] x1

Тип: INT

Целое число, указывающее координату x начальной точки spline Bézier.

[in] y1

Тип: INT

Целое число, указывающее координату y начальной точки сплайна Bézier.

[in] x2

Тип: INT

Целое число, указывающее координату x первой контрольной точки spline Bézier.

[in] y2

Тип: INT

Целое число, указывающее координату Y первой контрольной точки spline Bézier

[in] x3

Тип: INT

Целое число, указывающее координату x второй контрольной точки spline Bézier.

[in] y3

Тип: INT

Целое число, указывающее координату y второй контрольной точки сплайна Bézier.

[in] x4

Тип: INT

Целое число, указывающее координату x конечной точки сплайна Bézier.

[in] y4

Тип: INT

Целое число, задающее координату y конечной точки сплайна Bézier

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

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

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

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

Замечания

Строка Bézier не проходит через свои контрольные точки. Контрольные точки действуют как магниты, вытягивая кривую в определенных направлениях, чтобы повлиять на то, как сгибы линии Bézier.

Примеры

В следующем примере выполняется рисование кривой Bézier.


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

   // Set up the pen and curve points.
   Pen greenPen(Color(255, 0, 255, 0));
   int startPointx = 100;
   int startPointy = 100;
   int ctrlPoint1x = 200;
   int ctrlPoint1y = 10;
   int ctrlPoint2x = 350;
   int ctrlPoint2y = 50;
   int endPointx = 500;
   int endPointy = 100;

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP, Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка gdiplusgraphics.h (include Gdiplus.h)
библиотеки Gdiplus.lib
DLL Gdiplus.dll

См. также

Bézier Splines

DrawBezier

Методы drawBeziers

Рисование Bézier Splines

графики

пера