Graphics::D rawBezier(constPen*,constPointF&,constPointF&,constPointF&,constPointF&) 方法 (gdiplusgraphics.h)
Graphics::D rawBezier 方法绘制 Bézier 样条。
语法
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 Pen*
指向用于绘制贝塞尔样条的笔的指针。
[in, ref] pt1
类型:const POINTF
对贝塞尔样条起点的引用。
[in, ref] pt2
类型:const POINTF
对 Bézier 样条的第一个控制点的引用。
[in, ref] pt3
类型:const POINTF
对 Bézier 样条的第二个控制点的引用。
[in, ref] pt4
类型:const POINTF
对 Bézier 样条的结束点的引用。
返回值
类型:状态
如果方法成功,则返回 Ok,这是 状态 枚举的元素。
如果方法失败,它将返回 状态 枚举的其他元素之一。
言论
贝塞尔样条不会通过控制点。 控制点充当磁铁,将曲线拉向某些方向,以影响贝塞尔样条弯曲的方式。
例子
下面的示例绘制了一条贝塞尔曲线。
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 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | gdiplusgraphics.h (包括 Gdiplus.h) |
库 | Gdiplus.lib |
DLL | Gdiplus.dll |