Graphics::D rawBezier (constPen*,constPointF&,constPointF&,constPointF&,constPointF&) 方法 (gdiplusgraphics.h)

Graphics::D rawBezier 方法绘制贝塞尔样条。

语法

Status DrawBezier(
  [in]      const Pen      *pen,
  [in, ref] const PointF & pt1,
  [in, ref] const PointF & pt2,
  [in, ref] const PointF & pt3,
  [in, ref] const PointF & pt4
);

参数

[in] pen

类型: const 触控笔*

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

[in, ref] pt1

类型: const POINTF

对贝塞尔样条的起点的引用。

[in, ref] pt2

类型: const POINTF

对贝塞尔样条的第一个控制点的引用。

[in, ref] pt3

类型: const POINTF

对贝塞尔样条第二个控制点的引用。

[in, ref] pt4

类型: const POINTF

对贝塞尔样条的终点的引用。

返回值

类型: 状态

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

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

注解

贝塞尔样条不通过其控制点。 控制点充当磁体,向特定方向拉动曲线,以影响贝塞尔样条的弯曲方式。

示例

以下示例绘制贝塞尔曲线。


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

   // Set up the pen and curve points.
   Pen greenPen(Color(255, 0, 255, 0));
   PointF startPoint(100.0f, 100.0f);
   PointF controlPoint1(200.0f, 10.0f);
   PointF controlPoint2(350.0f, 50.0f);
   PointF endPoint(500.0f, 100.0f);

   //Draw the curve.
   graphics.DrawBezier(&greenPen, startPoint, controlPoint1, controlPoint2, endPoint);

   //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 [仅限桌面应用]
目标平台 Windows
标头 gdiplusgraphics.h (包括 Gdiplus.h)
Library Gdiplus.lib
DLL Gdiplus.dll

另请参阅

贝塞尔样条

DrawBezier

DrawBeziers 方法

绘制贝塞尔自由绘制曲线

显卡

PointF