Partilhar via


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 em buffer
HBITMAP

MAPA DE BITS

HBITMAP retornado de uma chamada para CreateDIBSection

DIBSECTION, se cbBuffer estiver definido sizeof (DIBSECTION) como, 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 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á.

Valor de retorno

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 armazenar as informações que a função armazenaria no buffer.

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

Observações

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 bit do bitmap.

Se hgdiobj for um identificador para um bitmap criado por qualquer outro meio, GetObject retornará apenas as informações de formato de largura, altura e 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.

Requirements

Requirement Value
Cliente mínimo suportado Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header wingdi.h (inclua Windows.h)
Library Gdi32.lib
de DLL Gdi32.dll

Consulte também

MAPA DE BITS

CreateDIBSection

DIBSECTION

Funções de contexto do dispositivo

Visão geral dos contextos do dispositivo

EXTLOGPEN

GetBitmapBits

GetDIBits

GetPaletteEntries

GetRegionData

LOGBRUSH

LOGFONT

LOGPALETTE

LOGPEN