Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die GetObject-Funktion ruft Informationen für das angegebene Grafikobjekt ab.
Syntax
int GetObject(
[in] HANDLE h,
[in] int c,
[out] LPVOID pv
);
Die Parameter
[in] h
Ein Handle für das grafikobjekt von Interesse. Dies kann ein Handle für eine der folgenden Aktionen sein: eine logische Bitmap, ein Pinsel, eine Schriftart, eine Palette, einen Stift oder eine geräteunabhängige Bitmap, die durch Aufrufen der CreateDIBSection-Funktion erstellt wird.
[in] c
Die Anzahl der Bytes, die in den Puffer geschrieben werden sollen.
[out] pv
Ein Zeiger auf einen Puffer, der die Informationen zum angegebenen Grafikobjekt empfängt.
Die folgende Tabelle zeigt den Typ der Informationen, die der Puffer für jeden Grafikobjekttyp empfängt, den Sie mit hgdiobj angeben können.
| Objekttyp | In Puffer geschriebene Daten |
|---|---|
|
|
|
DIBSECTION, wenn cbBuffer auf oder BITMAP festgelegt |
|
Eine WORD-Anzahl der Einträge in der logischen Palette |
|
|
|
|
|
|
|
Wenn der Parameter "lpvObject " NULL ist, ist der Rückgabewert der Funktion die Anzahl der Bytes, die zum Speichern der Informationen erforderlich sind, die er in den Puffer für das angegebene Grafikobjekt schreibt.
Die Adresse von lpvObject muss sich an einer Grenze von 4 Byte handeln; andernfalls schlägt GetObject fehl.
Rückgabewert
Wenn die Funktion erfolgreich ist und lpvObject ein gültiger Zeiger ist, ist der Rückgabewert die Anzahl der im Puffer gespeicherten Bytes.
Wenn die Funktion erfolgreich ist und lpvObjectNULL ist, ist der Rückgabewert die Anzahl der Bytes, die zum Speichern der Informationen erforderlich sind, die die Funktion im Puffer speichern würde.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null.
Bemerkungen
Der puffer, auf den der Parameter "lpvObject " verweist, muss ausreichend groß sein, um die Informationen zum Grafikobjekt zu erhalten. Abhängig vom Grafikobjekt verwendet die Funktion eine BITMAP-, DIBSECTION-, EXTLOGPEN-, LOGBRUSH-, LOGFONT- oder LOGPEN-Struktur oder eine Anzahl von Tabelleneinträgen (für eine logische Palette).
Wenn hgdiobj ein Handle für eine Bitmap ist, die durch Aufrufen von CreateDIBSection erstellt wird und der angegebene Puffer groß genug ist, gibt die GetObject-Funktion eine DIBSECTION-Struktur zurück. Darüber hinaus enthält das bmBits-Element der BITMAP-Struktur , das in der DIBSECTION enthalten ist, einen Zeiger auf die Bitwerte der Bitmap.
Wenn hgdiobj ein Handle für eine Bitmap ist, die auf andere Weise erstellt wird, gibt GetObject nur die Informationen zu Breite, Höhe und Farbformat der Bitmap zurück. Sie können die Bitwerte der Bitmap abrufen, indem Sie die GetDIBits - oder GetBitmapBits-Funktion aufrufen.
Wenn hgdiobj ein Handle für eine logische Palette ist, ruft GetObject eine 2-Byte-Ganzzahl ab, die die Anzahl der Einträge in der Palette angibt. Die Funktion ruft die LOGPALETTE-Struktur nicht ab, die die Palette definiert. Um Informationen zu Paletteneinträgen abzurufen, kann eine Anwendung die GetPaletteEntries-Funktion aufrufen.
Wenn hgdiobj ein Handle für eine Schriftart ist, ist das zurückgegebene LOGFONT das LOGFONT , das zum Erstellen der Schriftart verwendet wird. Wenn Windows eine Interpolation der Schriftart vornehmen musste, da das präzise LOGFONT nicht dargestellt werden konnte, wird die Interpolation nicht im LOGFONT wiedergegeben. Wenn Sie z. B. nach einer vertikalen Version einer Schriftart fragen, die das vertikale Malen nicht unterstützt, gibt LOGFONT an, dass die Schriftart vertikal ist, aber Windows zeichnet sie horizontal.
Examples
Ein Beispiel finden Sie unter Speichern eines Bilds.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 2000 Professional [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows 2000 Server [nur Desktop-Apps] |
| Zielplattform | Fenster |
| Header | wingdi.h (enthalten Windows.h) |
| Library | Gdi32.lib |
| DLL | Gdi32.dll |