Graphics::D rawBezier (constPen*,REAL,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 坐标的实数。

返回值

如果方法成功,则返回 Ok,这是 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);
}

要求

要求
Header gdiplusgraphics.h

另请参阅

显卡

DrawBezier

DrawBeziers 方法

绘制贝塞尔自由绘制曲线

贝塞尔样条