GraphicsPath::AddCurve (constPointF*,INT,INT,INT,INT,REAL) 方法 (gdipluspath.h)
GraphicsPath::AddCurve 方法将基数样条添加到此路径的当前图形中。
语法
Status AddCurve(
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
参数
[in] points
类型: const PointF*
指向定义基数样条的点数组的指针。 基数样条是一条曲线,它通过数组中点) 偏移量 和 numberOfSegments 参数指定的子集 (。
[in] count
类型: INT
指定 点 数组中的元素数的整数。
[in] offset
类型: INT
整数,指定用作基数样条第一点的数组元素的索引。
[in] numberOfSegments
类型: INT
指定基数样条中的段数的整数。 段是连接数组中连续点的曲线。
[in] tension
类型: REAL
控制曲线长度和曲线弯曲方式的非否定实数。 值为 0 指定样条是直线段的序列。 随着值的增加,曲线变得更加完整。
返回值
类型: 状态
如果该方法成功,则返回 Ok,这是 Status 枚举的元素。
如果方法失败,它将返回 Status 枚举的其他元素之一。
注解
如果以后需要 这些点 ,则应保留点数组的副本。 GraphicsPath 对象不存储传递给 AddClosedCurve 方法的点;相反,它将基数样条转换为贝塞尔样条序列,并存储定义这些贝塞尔样条的点。 无法从 GraphicsPath 对象中检索原始的点数组。
示例
以下示例创建 GraphicsPath 对象 路径,将基数样条添加到 path,然后绘制 路径。 样条是从索引为 2 到 6 的 8 磅数组中的点构建的。
VOID AddCurveExample3(HDC hdc)
{
Graphics graphics(hdc);
GraphicsPath path;
PointF pts[] = {PointF(50.0f, 50.0f),
PointF(70.0f, 80.0f),
PointF(100.0f, 100.0f),
PointF(130.0f, 40.0f),
PointF(150.0f, 90.0f),
PointF(180.0f, 30.0f),
PointF(210.0f, 120.0f),
PointF(240.0f, 80.0f)};
path.AddCurve(
pts,
8, // There are eight points in the array.
2, // Start at the point with index 2.
4, // Four segments. End at the point with index 6.
1.0f);
Pen pen(Color(255, 0, 0, 255));
graphics.DrawPath(&pen, &path);
// Draw all eight points in the array.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j <= 7; ++j)
graphics.FillEllipse(&brush, pts[j].X - 3.0f, pts[j].Y - 3.0f, 6.0f, 6.0f);
}
Color(255, 255, 0, 0)
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdipluspath.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |