PathIterator 函数

Windows GDI+ 公开由大约 600 个函数组成的平面 API,这些函数在 Gdiplus.dll 中实现,并在 Gdiplusflat.h 中声明。 GDI+ 平面 API 中的函数由大约 40 个 C++ 类的集合包装。 建议不要直接调用平面 API 中的函数。 每当调用 GDI+ 时,都应通过调用 C++ 包装器提供的方法和函数来执行此操作。 Microsoft 产品支持服务不会为直接调用平面 API 的代码提供支持。 有关使用这些包装方法的详细信息,请参阅 GDI+ 平面 API

以下平面 API 函数由 GraphicsPathIterator C++ 类包装。

GraphicsPathIterator 函数和相应的包装器方法

平面函数 Wrapper 方法 备注
GpStatus WINGDIPAPI GdipCreatePathIter (GpPathIterator **iterator, GpPath* path)
GraphicsPathIterator::GraphicsPathIterator (IN const GraphicsPath* path)
创建新的 GraphicsPathIterator 对象,并将其与 GraphicsPath 对象相关联。
GpStatus WINGDIPAPI GdipDeletePathIter (GpPathIterator *iterator)
GraphicsPathIterator::~GraphicsPathIterator ()
释放 GraphicsPathIterator 对象使用的资源。
GpStatus WINGDIPAPI GdipPathIterNextSubpath (GpPathIterator* 迭代器、INT *resultCount、INT* startIndex、INT* endIndex、BOOL* isClosed)
INT GraphicsPathIterator::NextSubpath (OUT INT* startIndex, OUT INT* endIndex, OUT BOOL* isClosed)
获取此迭代器的关联路径中下一个子路径 (图) 的起始索引和结束索引。
GpStatus WINGDIPAPI GdipPathIterNextSubpathPath (GpPathIterator* 迭代器、INT* resultCount、GpPath* path、BOOL* isClosed)
INT GraphicsPathIterator::NextSubpath (OUT const GraphicsPath* path, OUT BOOL* isClosed)
从此迭代器的关联路径获取下一个图 (子路径) 。
GpStatus WINGDIPAPI GdipPathIterNextPathType (GpPathIterator* 迭代器、INT* resultCount、BYTE* pathType、INT* startIndex、INT* endIndex)
INT GraphicsPathIterator::NextPathType (OUT BYTE* pathType,OUT INT* startIndex,OUT INT* endIndex)
获取全部具有相同类型的下一组数据点的起始索引和结束索引。
GpStatus WINGDIPAPI GdipPathIterNextMarker (GpPathIterator* 迭代器、INT *resultCount、INT* startIndex、INT* endIndex)
INT GraphicsPathIterator::NextMarker (OUT INT* startIndex, OUT INT* endIndex)
获取此迭代器的关联路径中下一个标记分隔节的起始索引和结束索引。
GpStatus WINGDIPAPI GdipPathIterNextMarkerPath (GpPathIterator* 迭代器、INT* resultCount、GpPath* path)
INT GraphicsPathIterator::NextMarker (OUT const GraphicsPath* 路径)
获取此迭代器的关联路径的下一个标记分隔部分。
GpStatus WINGDIPAPI GdipPathIterGetCount (GpPathIterator* 迭代器,INT* count)
INT GraphicsPathIterator::GetCount () const
返回路径中的数据点数。
GpStatus WINGDIPAPI GdipPathIterGetSubpathCount (GpPathIterator* 迭代器,INT* count)
INT GraphicsPathIterator::GetSubpathCount () const
返回路径中 (也称为数字) 子路径的数目。
GpStatus WINGDIPAPI GdipPathIterIsValid (GpPathIterator* 迭代器,BOOL* 有效的)
包装器方法不调用。
此函数传递一个布尔值,该值指示迭代器参数指定的路径迭代 是否有效。 输出参数有效接收结果。
GpStatus WINGDIPAPI GdipPathIterHasCurve (GpPathIterator* 迭代器,BOOL* hasCurve)
BOOL GraphicsPathIterator::HasCurve () const
确定路径是否具有任何曲线。
GpStatus WINGDIPAPI GdipPathIterRewind (GpPathIterator* 迭代器)
VOID GraphicsPathIterator::Rewind ()
将此迭代器倒带到其关联路径的开头。
GpStatus WINGDIPAPI GdipPathIterEnumerate (GpPathIterator* 迭代器、INT* resultCount、GpPointF *points、BYTE *types、INT count)
INT GraphicsPathIterator::Enumerate (OUT PointF *points, OUT BYTE *types, INT count)
将路径的数据点复制到 PointF 数组,并将路径的点类型复制到 BYTE 数组。
GpStatus WINGDIPAPI GdipPathIterCopyData (GpPathIterator* 迭代器、INT* resultCount、GpPointF* points、BYTE* 类型、INT startIndex、INT endIndex)
INT GraphicsPathIterator::CopyData (OUT PointF* points, OUT BYTE* 类型, INT startIndex, INT endIndex)
将路径数据点的子集复制到 PointF 数组,并将路径的点类型的子集复制到 BYTE 数组。