Article ID: 72041 - Last Review: November 21, 2006 - Revision: 3.2

HOWTO: Using Device-Independent Bitmaps and Palettes

This article was previously published under Q72041
Expand all | Collapse all

SUMMARY

The method Windows version 3.x uses to transfer colors from the color table of a Device-Independent Bitmap (DIB) to a Device-Dependent Bitmap (DDB) on a machine that supports palette operations depends on the value of the wUsage parameter specified in calls to the CreateDIBitmap or SetDIBits functions.

Specifying DIB_RGB_COLORS matches the colors in the DIB color table to the logical palette associated with the Device Context (DC) listed in the function call.

Specifying DIB_PAL_COLORS causes the entries in the DIB color table to not be treated as RGB values; instead, they are treated as word indexes into the logical palette associated with the DC listed in the function call.

To create a device-dependent (displayable) bitmap from a DIB that retains the same colors, follow these five steps:
  1. Extract the colors from the DIB header.
  2. Use the CreatePalette function to make a logical palette with those colors.
  3. Use the SelectPalette function to select the logical palette into a device context.
  4. Use the RealizePalette function to map the logical palette into the device context.
  5. Call the CreateDIBitmap function using the device context that has the logical palette selected.
Because the CreateDIBitmap function creates a bitmap compatible with the device, to create a device-dependent monochrome bitmap from a DIB, call the CreateBitmap function with the desired width and height, specifying one color plane and one bit per pixel. Then call the SetDIBits function to render the image in the newly created monochrome bitmap.

APPLIES TO
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Application Programming Interface, when used with:
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0 Developer Edition
    • Microsoft Windows 95
Keywords: 
kbhowto KB72041
 

Article Translations