Fungsi GetObject (wingdi.h)

Fungsi GetObject mengambil informasi untuk objek grafis yang ditentukan.

Sintaks

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

Parameter

[in] h

Handel ke objek grafis yang menarik. Ini bisa menjadi pegangan untuk salah satu hal berikut: bitmap logis, kuas, font, palet, pena, atau bitmap independen perangkat yang dibuat dengan memanggil fungsi CreateDIBSection .

[in] c

Jumlah byte informasi yang akan ditulis ke buffer.

[out] pv

Penunjuk ke buffer yang menerima informasi tentang objek grafik yang ditentukan.

Tabel berikut ini memperlihatkan jenis informasi yang diterima buffer untuk setiap jenis objek grafis yang bisa Anda tentukan dengan hgdiobj.

Tipe objek Data yang ditulis ke buffer
HBITMAP

BITMAP

HBITMAP dikembalikan dari panggilan ke CreateDIBSection

DIBSECTION, jika cbBuffer diatur ke sizeof (DIBSECTION), atau BITMAP, jika cbBuffer diatur ke sizeof (BITMAP).

HPALETTE
Hitungan WORD dari jumlah entri dalam palet logis
HPEN dikembalikan dari panggilan ke ExtCreatePen

EXTLOGPEN

HPEN

LOGPEN

HBRUSH

LOGBRUSH

HFONT

LOGFONT

 

Jika parameter lpvObject adalah NULL, nilai pengembalian fungsi adalah jumlah byte yang diperlukan untuk menyimpan informasi yang ditulisnya ke buffer untuk objek grafis yang ditentukan.

Alamat lpvObject harus berada di batas 4 byte; jika tidak, GetObject gagal.

Nilai kembali

Jika fungsi berhasil, dan lpvObject adalah penunjuk yang valid, nilai yang dikembalikan adalah jumlah byte yang disimpan ke dalam buffer.

Jika fungsi berhasil, dan lpvObject adalah NULL, nilai yang dikembalikan adalah jumlah byte yang diperlukan untuk menyimpan informasi yang akan disimpan fungsi ke dalam buffer.

Jika fungsi gagal, nilai yang dikembalikan adalah nol.

Keterangan

Buffer yang ditujukkan oleh parameter lpvObject harus cukup besar untuk menerima informasi tentang objek grafis. Bergantung pada objek grafik, fungsi menggunakan struktur BITMAP, DIBSECTION, EXTLOGPEN, LOGBRUSH, LOGFONT, atau LOGPEN , atau hitungan entri tabel (untuk palet logis).

Jika hgdiobj adalah handel ke bitmap yang dibuat dengan memanggil CreateDIBSection, dan buffer yang ditentukan cukup besar, fungsi GetObject mengembalikan struktur DIBSECTION . Selain itu, anggota bmBits dari struktur BITMAP yang terkandung dalam DIBSECTION akan berisi penunjuk ke nilai bitmap bitmap.

Jika hgdiobj adalah handel ke bitmap yang dibuat dengan cara lain, GetObject hanya mengembalikan informasi format lebar, tinggi, dan warna bitmap. Anda dapat memperoleh nilai bitmap dengan memanggil fungsi GetDIBits atau GetBitmapBits .

Jika hgdiobj adalah handel ke palet logis, GetObject mengambil bilangan bulat 2-byte yang menentukan jumlah entri dalam palet. Fungsi ini tidak mengambil struktur LOGPALETTE yang menentukan palet. Untuk mengambil informasi tentang entri palet, aplikasi dapat memanggil fungsi GetPaletteEntries .

Jika hgdiobj adalah handel ke font, LOGFONT yang dikembalikan adalah LOGFONT yang digunakan untuk membuat font. Jika Windows harus membuat beberapa interpolasi font karena LOGFONT yang tepat tidak dapat diwakili, interpolasi tidak akan tercermin dalam LOGFONT. Misalnya, jika Anda meminta versi vertikal font yang tidak mendukung lukisan vertikal, LOGFONT menunjukkan font vertikal, tetapi Windows akan melukisnya secara horizontal.

Contoh

Misalnya, lihat Menyimpan Gambar.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header wingdi.h (sertakan Windows.h)
Pustaka Gdi32.lib
DLL Gdi32.dll

Lihat juga

BITMAP

CreateDIBSection

DIBSECTION

Fungsi Konteks Perangkat

Gambaran Umum Konteks Perangkat

EXTLOGPEN

GetBitmapBits

GetDIBits

GetPaletteEntries

GetRegionData

LOGBRUSH

LOGFONT

LOGPALETTE

LOGPEN