GraphicsPathIterator::NextSubpath (constGraphicsPath*,BOOL*) 方法 (gdipluspath.h)
GraphicsPathIterator::NextSubpath 方法从此迭代器的关联路径获取下一个图 (子路径) 。
语法
INT NextSubpath(
[out] const GraphicsPath *path,
[out] BOOL *isClosed
);
参数
[out] path
类型: GraphicsPath*
指向 GraphicsPath 对象的指针。 此方法设置此 GraphicsPath 对象的数据点以匹配检索到的图形的数据点。
[out] isClosed
类型: BOOL*
指向 BOOL 的指针,该 BOOL 接收一个值,该值指示检索到的图形是否关闭。 如果图形关闭,则接收的值为 TRUE;否则,收到的值为 FALSE。
返回值
类型: INT
此方法返回检索到的图中的数据点数。 如果没有更多的数字要检索,此方法将返回 0。
注解
首次调用迭代 器的 GraphicsPathIterator::NextSubpath 方法时,它会获取该迭代器的关联路径) 子路径 (第一个图形。 第二次时,它会获取第二个数字,依此进行。 每次调用 GraphicsPathIterator::NextSubpath 时,它都会返回检索到的图形中的数据点数。 如果没有剩余的数字,则返回 0。
示例
以下示例创建 一个 GraphicsPath 对象,并将五个图 (也称为子路径) 添加到路径。 代码将 GraphicsPath 对象的地址传递给 GraphicsPathIterator 构造函数,以创建与路径关联的迭代器。 代码调用迭代器的 GraphicsPathIterator::NextSubpath 方法两次,以从路径) (子路径检索第二个图形。 然后,代码调用 Graphics 对象的 DrawPath 方法来绘制该单个子路径。
VOID NextSubpathExample(HDC hdc)
{
Graphics graphics(hdc);
// Create a graphics path with five figures (subpaths).
GraphicsPath path;
path.AddRectangle(Rect(20, 20, 60, 30)); // Subpath count is 1.
path.AddLine(100, 20, 160, 50); // Subpath count is 2.
path.AddArc(180, 20, 60, 30, 0.0f, 180.0f);
path.AddRectangle(Rect(260, 20, 60, 30)); // Subpath count is 3.
path.AddLine(340, 20, 400, 50); // Subpath count is 4.
path.AddArc(340, 20, 60, 30, 0.0f, 180.0f);
path.CloseFigure();
path.AddRectangle(Rect(420, 20, 60, 30)); // Subpath count is 5.
// Create an iterator, and associate it with the path.
GraphicsPathIterator iterator(&path);
// Get the second subpath by calling NextSubpath twice.
GraphicsPath subpath;
BOOL isClosed;
INT count;
count = iterator.NextSubpath(&subpath, &isClosed);
count = iterator.NextSubpath(&subpath, &isClosed);
// The variable "count" now holds the number of
// data points in the second subpath.
// Draw the retrieved subpath.
Pen bluePen(Color(255, 0, 0, 255));
graphics.DrawPath(&bluePen, &subpath);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdipluspath.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |
另请参阅
GraphicsPathIterator::GetSubpathCount