GetObjectW 函数 (wingdi.h)

GetObject 函数检索指定图形对象的信息。

语法

int GetObjectW(
        HANDLE h,
        int    c,
        LPVOID pv
);

参数

h

c

pv

返回值

如果函数成功,并且 lpvObject 是有效的指针,则返回值是存储在缓冲区中的字节数。

如果函数成功,并且 lpvObjectNULL,则返回值是保存函数将存储到缓冲区中的信息所需的字节数。

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

言论

lpvObject 参数指向的缓冲区必须足够大,才能接收有关图形对象的信息。 根据图形对象,该函数使用 BITMAPDIBSECTIONEXTLOGPENLOGBRUSHLOGFONTLOGPEN 结构或表项计数(对于逻辑调色板)。

如果 hgdiobj通过调用 createDIBSection创建的位图的句柄,并且指定的缓冲区足够大,则 getObject 函数将返回 DIBSECTION 结构。 此外,位图位图 结构的成员 DIBSECTION 将包含指向位图位值的指针。

如果 hgdiobj 是任何其他方式创建的位图的句柄,GetObject 仅返回位图的宽度、高度和颜色格式信息。 可以通过调用 GetDIBitsGetBitmapBits 函数来获取位图的位值。

如果 hgdiobj 是逻辑调色板的句柄,GetObject 检索指定调色板中的条目数的 2 字节整数。 该函数不会检索定义调色板 结构的 LOGPALETTE。 若要检索有关调色板条目的信息,应用程序可以调用 GetPaletteEntries 函数。

如果 hgdiobj 是字体的句柄,则返回的 LOGFONT 是用于创建字体的 LOGFONT 。 如果 Windows 必须对字体进行一些内插,因为无法表示精确 LOGFONT,则内插不会反映在 LOGFONT中。 例如,如果要求垂直版本的字体不支持垂直绘制,则 LOGFONT 指示字体是垂直的,但 Windows 会水平绘制它。

例子

有关示例,请参阅 存储映像

注意

wingdi.h 标头将 GetObject 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

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

另请参阅

BITMAP

CreateDIBSection

DIBSECTION

设备上下文函数

设备上下文概述

EXTLOGPEN

GetBitmapBits

GetDIBits

GetPaletteEntries

GetRegionData

LOGBRUSH

LOGFONT

LOGPALETTE

LOGPEN