GraphicsPath::AddCurve (constPoint*,INT,INT,INT,INT,INT,REAL) 方法 (gdipluspath.h)
GraphicsPath::AddCurve 方法将基数样条添加到此路径的当前图中。
语法
Status AddCurve(
[in] const Point *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
parameters
[in] points
类型: const Point*
指向定义基数样条的点数组的指针。 基数样条曲线是一条曲线,它通过数组中点) 偏移量 和 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 AddCurveExample2(HDC hdc)
{
GraphicsPath path;
Graphics graphics(hdc);
Point pts[] = {Point(50, 50),
Point(70, 80),
Point(100, 100),
Point(130, 40),
Point(150, 90),
Point(180, 30),
Point(210, 120),
Point(240, 80)};
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, pts[j].Y - 3, 6, 6);
}
要求
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdipluspath.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |