getObjectA 函数 (wingdi.h)

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

语法

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

参数

h

c

pv

返回值

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

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

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

注解

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

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

如果 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 [仅限桌面应用]
目标平台 Windows
标头 wingdi.h (包括 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

BITMAP

CreateDIBSection

DIBSECTION

设备上下文函数

设备上下文概述

EXTLOGPEN

GetBitmapBits

GetDIBits

GetPaletteEntries

GetRegionData

LOGBRUSH

LOGFONT

LOGPALETTE

LOGPEN