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 |
---|---|
|
|
|
DIBSECTION, se cbBuffer è impostato su |
|
Conteggio word del numero di voci nel riquadro logico |
|
|
|
|
|
|
|
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
Funzioni del contesto del dispositivo