Поделиться через


Функция GetObjectA (wingdi.h)

Функция GetObject извлекает сведения для указанного графического объекта.

Синтаксис

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

Параметры

h

c

pv

Возвращаемое значение

Если функция выполнена успешно, а lpvObject является допустимым указателем, возвращаемое значение — это количество байтов, хранящихся в буфере.

Если функция выполнена успешно, а lpvObjectNULL, возвращаемое значение — это количество байтов, необходимых для хранения сведений, которые функция будет хранить в буфере.

Если функция завершается ошибкой, возвращаемое значение равно нулю.

Замечания

Буфер, на который указывает параметр lpvObject, должен быть достаточно большим, чтобы получить сведения о графическом объекте. В зависимости от графического объекта функция используетBITMAP , DIBSECTION, EXTLOGPEN, LOGBRUSH, LOGFONTили структуру LOGPEN или количество записей таблицы (для логической палитры).

Если hgdiobj является дескриптором, созданным путем вызова CreateDIBSection, а указанный буфер достаточно велик, функция GetObject возвращает структуру DIBSECTION. Кроме того, элемент bmBits структуры BITMAP, содержащейся в DIBSECTION, будет содержать указатель на битовые значения растрового изображения.

Если hgdiobj является дескриптором растрового изображения, созданного любым другим средством, GetObject возвращает только сведения о ширине, высоте и цветном формате растрового изображения. Битовые значения растрового изображения можно получить, вызвав функцию GetDIBits или GetBitmapBits.

Если hgdiobj является дескриптором логической палитры, GetObject получает 2-байтовое целое число, указывающее количество записей в палитре. Функция не извлекает LOGPALETTE структуру, определяющую палитру. Чтобы получить сведения о записях палитры, приложение может вызвать функцию GetPaletteEntries.

Если hgdiobj является дескриптором шрифта, возвращается LOGFONTLOGFONT, используемой для создания шрифта. Если Windows пришлось выполнить интерполяцию шрифта, так как не удалось представить точный LOGFONT, интерполяция не будет отражена в LOGFONT. Например, если вы запрашиваете вертикальную версию шрифта, который не поддерживает вертикальное рисование, LOGFONT указывает, что шрифт вертикальная, но Windows будет рисовать его горизонтально.

Примеры

Пример см. в хранении образа.

Заметка

Заголовок wingdi.h определяет GetObject как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wingdi.h (включая Windows.h)
библиотеки Gdi32.lib
DLL Gdi32.dll

См. также

BITMAP

CreateDIBSection

DIBSECTION

функций контекста устройства

Обзор контекстов устройств

EXTLOGPEN

GetBitmapBits

GetDIBits

GetPaletteEntries

GetRegionData

LOGBRUSH

LOGFONT

LOGPALETTE

LOGPEN