PolyDraw

【勇芳软件工作室】汉化HomePreviousNext

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功能代替连续调用MoveToExLineToPolyBezierTo函数来绘制不相交的数字。线条和曲线使用当前笔绘制,图形未填充。如果通过调用BeginPath启动了一个活动路径,PolyDraw将添加到该路径。

【LPPT】阵列和【lpbTypes】阵列中包含的点表示每个点是否为MoveToLineToPolyBezierTo操作的一部分。也可以关闭数字。

此函数更新当前位置。

也可以看看

BeginPath, EndPath, LineTo, MoveToEx, POINT, PolyBezierTo, PolyLine