PolyDraw 函数 (wingdi.h)

PolyDraw 函数绘制一组折线段和贝塞尔曲线。

语法

BOOL PolyDraw(
  [in] HDC         hdc,
  [in] const POINT *apt,
  [in] const BYTE  *aj,
  [in] int         cpt
);

参数

[in] hdc

设备上下文的句柄。

[in] apt

指向 POINT 结构的数组的指针,该结构包含每个线段的终结点以及每个 Bézier 曲线的终结点和控制点(以逻辑单位为单位)。

[in] aj

指向数组的指针,该数组指定如何使用 lppt 数组中的每个点。 此参数可以是下列值之一。

类型 意义
PT_MOVETO
指定此点启动不相交的数字。 这一点将成为新的当前位置。
PT_LINETO
指定将线条从当前位置绘制到此点,然后变为新的当前位置。
PT_BEZIERTO
指定此点是 Bézier 曲线的控制点或终点。

PT_BEZIERTO类型始终以三组形式发生。 当前位置定义贝塞尔曲线的起点。 前两个PT_BEZIERTO点是控制点,第三个PT_BEZIERTO点是终点。 终点将成为新的当前位置。 如果没有连续三个PT_BEZIERTO点,则会出现错误。

 

PT_LINETO或PT_BEZIERTO类型可以通过使用按位运算符 OR 来将以下值组合在一起,以指示相应的点是图中的最后一个点,并且该图已关闭。

价值 意义
PT_CLOSEFIGURE
指定在完成此点的PT_LINETO或PT_BEZIERTO类型后自动关闭该图。 从此点绘制到最近PT_MOVETO或 MoveToEx 点的线条。

此值与线条的PT_LINETO类型或 Bézier 曲线的终点的PT_BEZIERTO类型组合使用按位运算符 OR。

当前位置设置为结束线的终点。

[in] cpt

lppt 数组中的总点数,与 lpbTypes 数组中的字节数相同。

返回值

如果函数成功,则返回值为非零。

如果函数失败,则返回值为零。

言论

PolyDraw 函数可用于替换对 MoveToExLineToPolyBezierTo 函数的连续调用来绘制不相交的数字。 使用当前笔绘制线条和曲线,并且不会填充图形。 如果活动路径是通过调用 beginPath启动的,PolyDraw 添加到路径。

lppt 数组中包含的点以及 lpbTypes 数组中包含的点指示每个点是 MoveToLineTo还是 PolyBezierTo 操作的一部分。 也可以关闭数字。

此函数更新当前位置。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 wingdi.h (包括 Windows.h)
Gdi32.lib
DLL Gdi32.dll

另请参阅

BeginPath

EndPath

直线和曲线函数

LineTo

直线和曲线概述

MoveToEx

POINT

PolyBezierTo

折线