GetDIBits
Jump to navigation
Jump to search
Description
The GetDIBits function retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format.
Syntax
int GetDIBits(
_In_ HDC hdc,
_In_ HBITMAP hbmp,
_In_ UINT uStartScan,
_In_ UINT cScanLines,
_Out_ LPVOID lpvBits,
_Inout_ LPBITMAPINFO lpbi,
_In_ UINT uUsage
);
Parameters
- hdc [in]
- A handle to the device context.
- hbmp [in]
- A handle to the bitmap. This must be a compatible bitmap (DDB).
- uStartScan [in]
- The first scan line to retrieve.
- cScanLines [in]
- The number of scan lines to retrieve.
- lpvBits [out]
- A pointer to a buffer to receive the bitmap data. If this parameter is NULL, the function passes the dimensions and format of the bitmap to the BITMAPINFO structure pointed to by the lpbi parameter.
- lpbi [in, out]
- A pointer to a BITMAPINFO structure that specifies the desired format for the DIB data.
- uUsage [in]
- The format of the bmiColors member of the BITMAPINFO structure. It must be one of the following values.
Value Meaning DIB_PAL_COLORS The color table should consist of an array of 16-bit indexes into the current logical palette. DIB_RGB_COLORS The color table should consist of literal red, green, blue (RGB) values.
Return value
If the lpvBits parameter is non-NULL and the function succeeds, the return value is the number of scan lines copied from the bitmap.
If the lpvBits parameter is NULL and GetDIBits successfully fills the BITMAPINFO structure, the return value is nonzero.
If the function fails, the return value is zero.
This function can return the following value.
Return code | Description |
---|---|
ERROR_INVALID_PARAMETER | One or more of the input parameters is invalid. |