INFO: Using SetDIBitsToDevice() with a Memory Device Context (66595)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) for Windows 3.0
  • Microsoft Windows Software Development Kit (SDK) for Windows 3.1

This article was previously published under Q66595
3.00 3.10 WINDOWS kbprg

SUMMARY

The SetDIBitsToDevice() function will set the device-independent bitmap (DIB) only to a physical device context, not to a memory device context. To set the DIB to a memory device context, use SetDIBits(), or call StretchDIBits() and specify the same height and width for both the source and the destination.

It is important to keep in mind that, on a palette device, the palette must be set appropriately before transferring the image. The SetDIBitsToDevice() and StretchDIBits() functions do not set the palette automatically. To do this, perform the following steps:
  1. Get the palette from the DIB.
  2. Create a logical palette with the palette colors from the DIB.
  3. Select the palette into the device context.
  4. Realize the palette.
  5. Call SetDIBitsToDevice() or StretchDIBits() to transfer the image to the device context.

Modification Type:MinorLast Reviewed:2/11/2005
Keywords:kb16bitonly kbinfo KB66595