GetObject-Funktion (wingdi.h)

Die GetObject-Funktion ruft Informationen für das angegebene Grafikobjekt ab.

Syntax

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

Parameter

[in] h

Ein Handle für das interessante Grafikobjekt. Dies kann ein Handle für eine der folgenden Elemente sein: eine logische Bitmap, ein Pinsel, eine Schriftart, eine Palette, ein Stift oder eine geräteunabhängige Bitmap, die durch Aufrufen der CreateDIBSection-Funktion erstellt wird.

[in] c

Die Anzahl der Bytes von Informationen, 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 Typ von Grafikobjekt empfängt, den Sie mit hgdiobj angeben können.

Objekttyp In den Puffer geschriebene Daten
HBITMAP

BITMAP

HBITMAP von einem Aufruf von CreateDIBSection zurückgegeben

DIBSECTION, wenn cbBuffer auf sizeof (DIBSECTION) festgelegt ist, oder BITMAP, wenn cbBuffer auf sizeof (BITMAP)festgelegt ist.

HPALETTE
Eine WORD-Anzahl der Einträge in der logischen Palette
HPEN von einem Aufruf von ExtCreatePen zurückgegeben

EXTLOGPEN

HPEN

LOGPEN

HBRUSH

LOGBRUSH

HFONT

LOGFONT

 

Wenn der lpvObject-ParameterNULL ist, ist der Funktionsrückgabewert die Anzahl der Bytes, die erforderlich sind, um die Informationen zu speichern, die in den Puffer für das angegebene Grafikobjekt geschrieben werden.

Die Adresse von lpvObject muss an einer 4-Byte-Grenze sein. 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 fehlerhaft ist, ist der Rückgabewert null.

Hinweise

Der Puffer, auf den der Parameter lpvObject verweist, muss ausreichend groß sein, um die Informationen zum Grafikobjekt zu empfangen. 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 wurde 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 , die in der DIBSECTION enthalten ist, einen Zeiger auf die Bitwerte der Bitmap.

Wenn hgdiobj ein Handle für eine Bitmap ist, die mit anderen Mitteln erstellt wurde, gibt GetObject nur die Informationen zur Breite, Höhe und Farbformat der Bitmap zurück. Sie können die Bitwerte der Bitmap abrufen, indem Sie die Funktion GetDIBits oder GetBitmapBits 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 nicht die LOGPALETTE-Struktur ab, die die Palette definiert. Zum Abrufen von Informationen zu Paletteneinträgen 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, weil das genaue LOGFONT nicht dargestellt werden konnte, wird die Interpolation nicht im LOGFONT widergespiegelt. Wenn Sie beispielsweise eine vertikale Version einer Schriftart anfordern, die vertikales Malen nicht unterstützt, gibt das LOGFONT an, dass die Schriftart vertikal ist, windows sie jedoch horizontal malt.

Beispiele

Ein Beispiel finden Sie unter Speichern eines Images.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h (einschließlich Windows.h)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

BITMAP

CreateDIBSection

DIBSECTION

Gerätekontextfunktionen

Übersicht über Gerätekontexte

EXTLOGPEN

GetBitmapBits

GetDIBits

GetPaletteEntries

GetRegionData

LOGBRUSH

LOGFONT

LOGPALETTE

LOGPEN