Função GetObject (wingdi.h)

A função GetObject recupera informações para o objeto gráfico especificado.

Sintaxe

int GetObject(
  [in]  HANDLE h,
  [in]  int    c,
  [out] LPVOID pv
);

Parâmetros

[in] h

Um identificador para o objeto gráfico de interesse. Isso pode ser um identificador para um dos seguintes: um bitmap lógico, um pincel, uma fonte, uma paleta, uma caneta ou um bitmap independente do dispositivo criado chamando a função CreateDIBSection .

[in] c

O número de bytes de informações a serem gravadas no buffer.

[out] pv

Um ponteiro para um buffer que recebe as informações sobre o objeto gráfico especificado.

A tabela a seguir mostra o tipo de informação que o buffer recebe para cada tipo de objeto gráfico que você pode especificar com hgdiobj.

Tipo de objeto Dados gravados no buffer
HBITMAP

BITMAP

HBITMAP retornado de uma chamada para CreateDIBSection

DIBSECTION, se cbBuffer estiver definido como sizeof (DIBSECTION) ou BITMAP, se cbBuffer estiver definido como sizeof (BITMAP).

HPALETTE
Uma contagem word do número de entradas na paleta lógica
HPEN retornado de uma chamada para ExtCreatePen

EXTLOGPEN

HPEN

LOGPEN

HBRUSH

LOGBRUSH

HFONT

LOGFONT

 

Se o parâmetro lpvObject for NULL, o valor retornado da função será o número de bytes necessários para armazenar as informações que ele grava no buffer do objeto gráfico especificado.

O endereço de lpvObject deve estar em um limite de 4 bytes; caso contrário, GetObject falhará.

Retornar valor

Se a função for bem-sucedida e lpvObject for um ponteiro válido, o valor retornado será o número de bytes armazenados no buffer.

Se a função for bem-sucedida e lpvObject for NULL, o valor retornado será o número de bytes necessários para manter as informações que a função armazenaria no buffer.

Se a função falhar, o valor retornado será zero.

Comentários

O buffer apontado pelo parâmetro lpvObject deve ser suficientemente grande para receber as informações sobre o objeto gráfico. Dependendo do objeto gráfico, a função usa uma estrutura BITMAP, DIBSECTION, EXTLOGPEN, LOGBRUSH, LOGFONT ou LOGPEN ou uma contagem de entradas de tabela (para uma paleta lógica).

Se hgdiobj for um identificador para um bitmap criado chamando CreateDIBSection e o buffer especificado for grande o suficiente, a função GetObject retornará uma estrutura DIBSECTION . Além disso, o membro bmBits da estrutura BITMAP contida no DIBSECTION conterá um ponteiro para os valores de bits do bitmap.

Se hgdiobj for um identificador para um bitmap criado por qualquer outro meio, GetObject retornará apenas as informações de largura, altura e formato de cor do bitmap. Você pode obter os valores de bit do bitmap chamando a função GetDIBits ou GetBitmapBits .

Se hgdiobj for um identificador para uma paleta lógica, GetObject recuperará um inteiro de 2 bytes que especifica o número de entradas na paleta. A função não recupera a estrutura LOGPALETTE que define a paleta. Para recuperar informações sobre entradas de paleta, um aplicativo pode chamar a função GetPaletteEntries .

Se hgdiobj for um identificador para uma fonte, o LOGFONT retornado será o LOGFONT usado para criar a fonte. Se o Windows tiver que fazer alguma interpolação da fonte porque o LOGFONT preciso não pôde ser representado, a interpolação não será refletida no LOGFONT. Por exemplo, se você solicitar uma versão vertical de uma fonte que não dê suporte à pintura vertical, o LOGFONT indicará que a fonte é vertical, mas o Windows a pintará horizontalmente.

Exemplos

Para obter um exemplo, consulte Armazenando uma imagem.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wingdi.h (inclua Windows.h)
Biblioteca Gdi32.lib
DLL Gdi32.dll

Confira também

BITMAP

Createdibsection

DIBSECTION

Funções de contexto do dispositivo

Visão geral dos contextos do dispositivo

EXTLOGPEN

GetBitmapBits

GetDIBits

GetPaletteEntries

GetRegionData

LOGBRUSH

LOGFONT

LOGPALETTE

LOGPEN