GetPath 函数 (wingdi.h)

GetPath 函数检索定义在指定设备上下文中选择的路径中找到的线条端点和曲线控制点的坐标。

语法

int GetPath(
  [in]  HDC     hdc,
  [out] LPPOINT apt,
  [out] LPBYTE  aj,
  [in]  int     cpt
);

参数

[in] hdc

包含已关闭路径的设备上下文的句柄。

[out] apt

指向 POINT 结构的数组的指针,该数组接收逻辑坐标中的线条端点和曲线控制点。

[out] aj

指向接收顶点类型的字节数组的指针。 此参数的取值可为下列值之一:

类型 说明
PT_MOVETO
指定 lpPoints 参数中的相应点启动不连续图形。
PT_LINETO
指定前一个点和 lpPoints 中的对应点是线条的端点。
PT_BEZIERTO
指定 lpPoints 中的相应点是贝塞尔曲线的控制点或终点。

PT_BEZIERTO值始终以三组形式出现。 路径中紧邻其前面的点定义贝塞尔曲线的起点。 前两个PT_BEZIERTO点是控制点,第三个PT_BEZIERTO点是结束 (如果硬编码) 点。

 

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

标志 描述
PT_CLOSEFIGURE
指定绘制相应的线条或曲线后图形自动闭合。 通过绘制一条从线条或曲线端点到对应于最后一个PT_MOVETO点的线来关闭图形。

[in] cpt

可以存储在 lpPoint 指向的数组中的 POINT 结构的总数。 此值必须与 lpTypes 指向的数组中可放置的字节数相同。

返回值

如果 nSize 参数为非零,则返回值为枚举的点数。 如果 nSize 为 0,则返回值是路径 (中的总点数, GetPath 不会向缓冲区) 写入任何内容。 如果 nSize 为非零值且小于路径中的点数,则返回值为 1。

注解

hdc 参数标识的设备上下文必须包含封闭路径。

路径的点以逻辑坐标返回。 点存储在设备坐标的路径中,因此 GetPath 使用当前转换的反函数将点从设备坐标更改为逻辑坐标。

可以在 GetPath 之前调用 FlattenPath 函数,以将路径中的所有曲线转换为线段。

要求

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

另请参阅

FlattenPath

路径函数

路径概述

PolyDraw

WidenPath