Graphics.DrawBezier(const Pen*, REAL, REAL, REAL, REAL, REAL, REAL, REAL, REAL) method

Applies to: desktop apps only

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

Syntax

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

Parameters

  • pen [in]
    Type: const Pen*

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

  • x1 [in]
    Type: REAL

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

  • y1 [in]
    Type: REAL

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

  • x2 [in]
    Type: REAL

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

  • y2 [in]
    Type: REAL

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

  • x3 [in]
    Type: REAL

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

  • y3 [in]
    Type: REAL

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

  • x4 [in]
    Type: REAL

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

  • y4 [in]
    Type: REAL

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

Return value

Type:

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

Requirements

Minimum supported client

Windows XP, Windows 2000 Professional

Minimum supported server

Windows 2000 Server

Product

GDI+ 1.0

Header

Gdiplusgraphics.h (include Gdiplus.h)

Library

Gdiplus.lib

DLL

Gdiplus.dll

See also

Graphics

DrawBezier

DrawBeziers Methods

Pen

Drawing Bézier Splines

Bézier Splines

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012