Bitmap Manipulation Techniques (94691)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.1

This article was previously published under Q94691

SUMMARY

The Windows versions 3.0 and 3.1 bitmap-manipulation Application Programming Interface (API) (BitBlt(), StretchBlt(), StretchDIBits(), and so forth) contains a powerful complement of Raster Operations (ROP) that allow for complicated handling of bitmaps. These raster-operation codes can be used, for example, to change an entire color in a bitmap without affecting the other colors.

The BMUTIL sample in the Microsoft Download Center demonstrates the following bitmap manipulation techniques:
  1. Creating an unavailable or disabled (grayed) bitmap from a color bitmap using various ROP codes and the BitBlt() function.
  2. Changing a single color in a bitmap without affecting any other colors. This is implemented completely using BitBlt() with various ROP codes.
  3. Swapping two colors in a bitmap without affecting any other colors. This is also implemented with BitBlt() and ROP codes.
  4. Dithering a color bitmap to a monochrome bitmap. This is done by manipulating the bits of a Device-Independent Bitmap (DIB) directly.
This sample uses the Windows 3.1 common dialog boxes, so you must have the Windows 3.1 SDK to compile it.

MORE INFORMATION

The following file is available for download from the Microsoft Download Center:
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

Modification Type:MinorLast Reviewed:2/11/2005
Keywords:kbdownload kbdownload kbfile kbinfo kbProgramming kbSample KB94691 kbAudDeveloper