Graphics::D rawBezier(constPen*,INT,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

类型:const Pen*

指向用于绘制贝塞尔样条的笔的指针。

[in] x1

类型:INT

指定 Bézier 样条起点的 x 坐标的整数。

[in] y1

类型:INT

指定贝塞尔样条起点的 y 坐标的整数。

[in] x2

类型:INT

指定 Bézier 样条的第一个控制点的 x 坐标的整数。

[in] y2

类型:INT

指定 Bézier 样条第一个控制点的 y 坐标的整数

[in] x3

类型:INT

指定 Bézier 样条的第二个控制点的 x 坐标的整数。

[in] y3

类型:INT

指定 Bézier 样条的第二个控制点的 y 坐标的整数。

[in] x4

类型:INT

指定 Bézier 样条终点的 x 坐标的整数。

[in] y4

类型:INT

指定贝塞尔样条终点的 y 坐标的整数

返回值

类型:状态

如果方法成功,则返回 Ok,这是 状态 枚举的元素。

如果方法失败,它将返回 状态 枚举的其他元素之一。

言论

贝塞尔样条不会通过控制点。 控制点充当磁铁,将曲线拉向某些方向,以影响贝塞尔样条弯曲的方式。

例子

下面的示例绘制了一条贝塞尔曲线。


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 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 gdiplusgraphics.h (包括 Gdiplus.h)
Gdiplus.lib
DLL Gdiplus.dll

另请参阅

贝塞尔样条

DrawBezier

DrawBeziers 方法

绘图贝塞尔样线

图形