Export (0) Print
Expand All

GetObject function

The GetObject function retrieves information for the specified graphics object.

Syntax


int GetObject(
  _In_   HGDIOBJ hgdiobj,
  _In_   int cbBuffer,
  _Out_  LPVOID lpvObject
);

Parameters

hgdiobj [in]

A handle to the graphics object of interest. This can be a handle to one of the following: a logical bitmap, a brush, a font, a palette, a pen, or a device independent bitmap created by calling the CreateDIBSection function.

cbBuffer [in]

The number of bytes of information to be written to the buffer.

lpvObject [out]

A pointer to a buffer that receives the information about the specified graphics object.

The following table shows the type of information the buffer receives for each type of graphics object you can specify with hgdiobj.

Object typeData written to buffer
HBITMAP

BITMAP

HBITMAP returned from a call to CreateDIBSection

DIBSECTION, if cbBuffer is set to sizeof (DIBSECTION), or BITMAP, if cbBuffer is set to sizeof (BITMAP).

HPALETTE

A WORD count of the number of entries in the logical palette

HPEN returned from a call to ExtCreatePen

EXTLOGPEN

HPEN

LOGPEN

HBRUSH

LOGBRUSH

HFONT

LOGFONT

 

If the lpvObject parameter is NULL, the function return value is the number of bytes required to store the information it writes to the buffer for the specified graphics object.

The address of lpvObject must be on a 4-byte boundary; otherwise, GetObject fails.

Return value

If the function succeeds, and lpvObject is a valid pointer, the return value is the number of bytes stored into the buffer.

If the function succeeds, and lpvObject is NULL, the return value is the number of bytes required to hold the information the function would store into the buffer.

If the function fails, the return value is zero.

Remarks

The buffer pointed to by the lpvObject parameter must be sufficiently large to receive the information about the graphics object. Depending on the graphics object, the function uses a BITMAP, DIBSECTION, EXTLOGPEN, LOGBRUSH, LOGFONT, or LOGPEN structure, or a count of table entries (for a logical palette).

If hgdiobj is a handle to a bitmap created by calling CreateDIBSection, and the specified buffer is large enough, the GetObject function returns a DIBSECTION structure. In addition, the bmBits member of the BITMAP structure contained within the DIBSECTION will contain a pointer to the bitmap's bit values.

If hgdiobj is a handle to a bitmap created by any other means, GetObject returns only the width, height, and color format information of the bitmap. You can obtain the bitmap's bit values by calling the GetDIBits or GetBitmapBits function.

If hgdiobj is a handle to a logical palette, GetObject retrieves a 2-byte integer that specifies the number of entries in the palette. The function does not retrieve the LOGPALETTE structure defining the palette. To retrieve information about palette entries, an application can call the GetPaletteEntries function.

If hgdiobj is a handle to a font, the LOGFONT that is returned is the LOGFONT used to create the font. If Windows had to make some interpolation of the font because the precise LOGFONT could not be represented, the interpolation will not be reflected in the LOGFONT. For example, if you ask for a vertical version of a font that doesn't support vertical painting, the LOGFONT indicates the font is vertical, but Windows will paint it horizontally.

Examples

For an example, see Storing an Image.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Wingdi.h (include Windows.h)

Library

Gdi32.lib

DLL

Gdi32.dll

Unicode and ANSI names

GetObjectW (Unicode) and GetObjectA (ANSI)

See also

Device Contexts Overview
Device Context Functions
CreateDIBSection
GetBitmapBits
GetDIBits
GetPaletteEntries
GetRegionData
BITMAP
DIBSECTION
EXTLOGPEN
LOGBRUSH
LOGFONT
LOGPALETTE
LOGPEN

 

 

Community Additions

ADD
Show:
© 2014 Microsoft