Funzione GetObject (wingdi.h)

La funzione GetObject recupera informazioni per l'oggetto grafico specificato.

Sintassi

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

Parametri

[in] h

Handle per l'oggetto grafico di interesse. Questo può essere un handle a uno dei seguenti: una bitmap logica, un pennello, un carattere, una tavolozza, una penna o una bitmap indipendente del dispositivo creata chiamando la funzione CreateDIBSection .

[in] c

Numero di byte di informazioni da scrivere nel buffer.

[out] pv

Puntatore a un buffer che riceve le informazioni sull'oggetto grafico specificato.

Nella tabella seguente viene illustrato il tipo di informazioni ricevute dal buffer per ogni tipo di oggetto grafico che è possibile specificare con hgdiobj.

Tipo oggetto Dati scritti nel buffer
HBITMAP

BITMAP

HBITMAP restituito da una chiamata a CreateDIBSection

DIBSECTION, se cbBuffer è impostato su sizeof (DIBSECTION) o BITMAP, se cbBuffer è impostato su sizeof (BITMAP).

HPALETTE
Conteggio word del numero di voci nel riquadro logico
HPEN restituito da una chiamata a ExtCreatePen

EXTLOGPEN

HPEN

LOGPEN

HBRUSH

LOGBRUSH

HFONT

LOGFONT

 

Se il parametro lpvObject è NULL, il valore restituito della funzione è il numero di byte necessari per archiviare le informazioni che scrive nel buffer per l'oggetto grafico specificato.

L'indirizzo di lpvObject deve essere su un limite di 4 byte; in caso contrario, GetObject ha esito negativo.

Valore restituito

Se la funzione ha esito positivo e lpvObject è un puntatore valido, il valore restituito è il numero di byte archiviati nel buffer.

Se la funzione ha esito positivo e lpvObject è NULL, il valore restituito è il numero di byte necessari per contenere le informazioni che la funzione archivierebbe nel buffer.

Se la funzione ha esito negativo, il valore restituito è zero.

Commenti

Il buffer a cui punta il parametro lpvObject deve essere sufficientemente grande per ricevere le informazioni sull'oggetto grafico. A seconda dell'oggetto grafico, la funzione usa una struttura BITMAP, DIBSECTION, EXTLOGPEN, LOGBRUSH, LOGFONT o LOGPEN o un conteggio delle voci di tabella (per una tavolozza logica).

Se hgdiobj è un handle per una bitmap creata chiamando CreateDIBSection e il buffer specificato è sufficiente, la funzione GetObject restituisce una struttura DIBSECTION . Inoltre, il membro bmBits della struttura BITMAP contenuto all'interno di DIBSECTION conterrà un puntatore ai valori bit della bitmap.

Se hgdiobj è un handle per una bitmap creata da qualsiasi altro mezzo, GetObject restituisce solo le informazioni sul formato di larghezza, altezza e colore della bitmap. È possibile ottenere i valori bit della bitmap chiamando la funzione GetDIBits o GetBitmapBits .

Se hgdiobj è un handle in una tavolozza logica, GetObject recupera un intero a 2 byte che specifica il numero di voci nella tavolozza. La funzione non recupera la struttura LOGPALETTE che definisce la tavolozza. Per recuperare informazioni sulle voci del tavolozza, un'applicazione può chiamare la funzione GetPaletteEntries .

Se hgdiobj è un handle a un tipo di carattere, logfont restituito è logfont usato per creare il tipo di carattere. Se Windows deve fare un'interpolazione del tipo di carattere perché non è stato possibile rappresentare LOGFONT preciso, l'interpolazione non verrà riflessa nel LOGFONT. Ad esempio, se si chiede una versione verticale di un tipo di carattere che non supporta la pittura verticale, logFONT indica che il carattere è verticale, ma Windows lo dipingerà orizzontalmente.

Esempio

Per un esempio, vedere Archiviazione di un'immagine.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wingdi.h (include Windows.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

BITMAP

CreateDIBSection

DIBSECTION

Funzioni del contesto del dispositivo

Panoramica dei contesti del dispositivo

EXTLOGPEN

GetBitmapBits

GetDIBits

GetPaletteEntries

GetRegionData

LOGBRUSH

LOGFONT

LOGPALETTE

LOGPEN