SetDIBits
The SetDIBits
function sets the pixels in a bitmap using the color data found in the
specified device-independent bitmap (DIB).
int SetDIBits(
HDC hdc, |
// handle of device
context |
HBITMAP hbmp, |
// handle of bitmap
|
UINT uStartScan, |
// starting scan
line |
UINT cScanLines, |
// number of scan
lines |
CONST VOID *lpvBits, |
// array of bitmap
bits |
CONST BITMAPINFO *lpbmi, |
// address of
structure with bitmap data |
UINT fuColorUse |
// type of color
indices to use |
); |
|
Parameters
hdc
Identifies a
device context.
hbmp
Identifies
the bitmap that is to be altered using the color data from the specified DIB.
uStartScan
Specifies the
starting scan line for the device-independent color data in the array pointed
to by the lpvBits parameter.
cScanLines
Specifies the
number of scan lines found in the array containing device-independent color
data.
lpvBits
Points to the
DIB color data, stored as an array of bytes. The format of the bitmap values
depends on the biBitCount member of the BITMAPINFO structure
pointed to by the lpbmi parameter.
lpbmi
Points to a BITMAPINFO
fuColorUse
Specifies
whether the bmiColors member of the BITMAPINFO structure was
provided and, if so, whether bmiColors contains explicit red, green,
blue (RGB) values or palette indices. The fuColorUse parameter must be
one of the following values:
Value |
Meaning |
DIB_PAL_COLORS |
The color
table consists of an array of 16-bit indices into the logical palette of the
device context identified by the hdc parameter. |
DIB_RGB_COLORS |
The color
table is provided and contains literal RGB values. |
Return Values
If the
function succeeds, the return value is the number of scan lines copied.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
Optimal
bitmap drawing speed is obtained when the bitmap bits are indices into the system
palette.
Applications
can retrieve the system palette colors and indices by calling the GetSystemPaletteEntries
function. After the colors and indices are retrieved, the application can
create the DIB. For more information, see System Palette
The device
context identified by the hdc parameter is used only if the DIB_PAL_COLORS
constant is set for the fuColorUse parameter; otherwise it is ignored.
The bitmap
identified by the hbmp parameter must not be selected into a device
context when the application calls this function.
The origin
for bottom-up DIBs is the lower-left corner of the bitmap; the origin for
top-down DIBs is the upper-left corner of the bitmap.
See Also