Graphics::DrawBezier(constPen*,INT,INT,INT,INT,INT,INT,INT,INT) method (gdiplusgraphics.h)

The Graphics::DrawBezier method draws a Bézier spline.

Syntax

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

Parameters

[in] pen

Type: const Pen*

Pointer to a pen that is used to draw the Bézier spline.

[in] x1

Type: INT

Integer that specifies the x-coordinate of the starting point of the Bézier spline.

[in] y1

Type: INT

Integer that specifies the y-coordinate of the starting point of the Bézier spline.

[in] x2

Type: INT

Integer that specifies the x-coordinate of the first control point of the Bézier spline.

[in] y2

Type: INT

Integer that specifies the y-coordinate of the first control point of the Bézier spline

[in] x3

Type: INT

Integer that specifies the x-coordinate of the second control point of the Bézier spline.

[in] y3

Type: INT

Integer that specifies the y-coordinate of the second control point of the Bézier spline.

[in] x4

Type: INT

Integer that specifies the x-coordinate of the ending point of the Bézier spline.

[in] y4

Type: INT

Integer that specifies the y-coordinate of the ending point of the Bézier spline

Return value

Type: Status

If the method succeeds, it returns Ok, which is an element of the Status enumeration.

If the method fails, it returns one of the other elements of the Status enumeration.

Remarks

A Bézier spline does not pass through its control points. The control points act as magnets, pulling the curve in certain directions to influence the way the Bézier spline bends.

Examples

The following example draws a Bézier curve.


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

Requirements

Requirement Value
Minimum supported client Windows XP, Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header gdiplusgraphics.h (include Gdiplus.h)
Library Gdiplus.lib
DLL Gdiplus.dll

See also

Bézier Splines

DrawBezier

DrawBeziers Methods

Drawing Bézier Splines

Graphics

Pen