PolyDraw函数绘制一组线段和B zier曲线。
BOOL PolyDraw(
HDC 【HDC】, | //处理设备上下文 |
CONST POINT *【LPPT】, | //指向数组的指针 |
CONST BYTE *【lpbTypes】, | //指向行和曲线标识符的指针 |
INT 【cCount】 | //点数点数 |
); |
参数
【HDC】
标识设备上下文。
【LPPT】
指向POINT结构的数组,其中包含每个线段的端点以及每个B zier曲线的端点和控制点。
【lpbTypes】
指向一个数组,指定如何使用【LPPT】数组中的每个点。类型可以是以下之一:
类型 | 含义 |
PT_MOVETO | 指定此点启动不相交的数字。这一点成为新的当前位置。 |
PT_LINETO | 指定要从当前位置绘制一条直线,然后成为新的当前位置。 |
PT_BEZIERTO | 指定此点是B zier曲线的控制点或终点。 |
PT_BEZIERTO类型始终以三组的形式出现。当前位置定义了B zier曲线的起始点。前两个PT_BEZIERTO点是控制点,第三个PT_BEZIERTO点是终点。结束点成为新的当前位置。如果没有三个连续的PT_BEZIERTO点,则会出现错误。 |
PT_LINETO或PT_BEZIERTO类型可以通过使用按位运算符“或”来表示对应点是图中的最后一个点,并且关闭图形可以与以下值组合:
值 | 含义 |
PT_CLOSEFIGURE | 指定在PT_LINETO或PT_BEZIERTO类型为此点完成后,图形将自动关闭。从这一点将线条绘制到最近的PT_MOVETO或MoveToEx点。 |
通过使用按位运算符OR,该值与一行的PT_LINETO类型或B zier曲线的终点的PT_BEZIERTO类型组合。 | |
当前位置设置为关闭行的终点。 |
【cCount】
指定【LPPT】数组中的总点数,与【lpbTypes】数组中的字节数相同。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。
备注
可以使用PolyDraw功能代替连续调用MoveToEx,LineTo和PolyBezierTo函数来绘制不相交的数字。线条和曲线使用当前笔绘制,图形未填充。如果通过调用BeginPath启动了一个活动路径,PolyDraw将添加到该路径。
【LPPT】阵列和【lpbTypes】阵列中包含的点表示每个点是否为MoveTo,LineTo或PolyBezierTo操作的一部分。也可以关闭数字。
此函数更新当前位置。
也可以看看
BeginPath, EndPath, LineTo, MoveToEx, POINT, PolyBezierTo, PolyLine