please dont rip this site Prev Next

SetDIBitsToDevice info  Overview  Group

The SetDIBitsToDevice function sets the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a device-independent bitmap (DIB).

int SetDIBitsToDevice(

    HDC hdc,

// handle of device context

    int XDest,

// x-coordinate of upper-left corner of dest. rect.

    int YDest,

// y-coordinate of upper-left corner of dest. rect.

    DWORD dwWidth,

// source rectangle width

    DWORD dwHeight,

// source rectangle height

    int XSrc,

// x-coordinate of lower-left corner of source rect.

    int YSrc,

// y-coordinate of lower-left corner of source rect.

    UINT uStartScan,

// first scan line in array

    UINT cScanLines,

// number of scan lines

    CONST VOID *lpvBits,

// address of array with DIB bits


// address of structure with bitmap info.

    UINT fuColorUse 

// RGB or palette indices



Identifies the device context.
Specifies the x-coordinate, in logical units, of the upper-left corner of the destination rectangle.
Specifies the y-coordinate, in logical units, of the upper-left corner of the destination rectangle.
Specifies the width, in logical units, of the DIB.
Specifies the height, in logical units, of the DIB.
Specifies the x-coordinate, in logical units, of the lower-left corner of the DIB.
Specifies the y-coordinate, in logical units, of the lower-left corner of the DIB.
Specifies the starting scan line in the DIB.
Specifies the number of DIB scan lines contained in the array pointed to by the lpvBits parameter.
Points to DIB color data stored as an array of bytes.
Points to a BITMAPINFO structure that contains information about the DIB.
Specifies whether the bmiColors member of the BITMAPINFO structure contains explicit red, green, blue (RGB) values or indices into a palette. The fuColorUse parameter must be one of the following values:




The color table consists of an array of 16-bit indices into the currently selected logical palette.


The color table contains literal RGB values.

Return Values

If the function succeeds, the return value is the number of scan lines set.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


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 about the system palette, see Colors.

The origin of a bottom-up DIB is the lower-left corner of the bitmap; the origin of a top-down DIB is the upper-left corner.

To reduce the amount of memory required to set bits from a large device-independent bitmap on a device surface, an application can band the output by repeatedly calling SetDIBitsToDevice, placing a different portion of the bitmap into the lpvBits array each time. The values of the uStartScan and cScanLines parameters identify the portion of the bitmap contained in the lpvBits array.

The SetDIBitsToDevice function returns an error if it is called by a process that is running in the background while a full-screen MS-DOS session runs in the foreground.

See Also

BITMAPINFO, GetSystemPaletteEntries, SetDIBits, StretchDIBits


file: /Techref/os/win/api/win32/func/src/f78_5.htm, 7KB, , updated: 2001/6/26 10:53, local time: 2024/6/21 13:21,

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF=""> SetDIBitsToDevice</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

  PICList 2024 contributors:
o List host: MIT, Site host, Top posters @none found
- Page Editors: James Newton, David Cary, and YOU!
* Roman Black of Black Robotics donates from sales of Linistep stepper controller kits.
* Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters.
* Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated!
* Contributors: Richard Seriani, Sr.

Welcome to!