SAMPLE: Bitmap Manipulation Techniques

Last reviewed: April 8, 1997
Article ID: Q94691

The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) for Windows versions 3.0 and 3.1

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 Software Library 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 raster- operation (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.

The following file is available for download from the Microsoft Software Library:

 ~ Bmutil.exe (size: 96347 bytes) 

For more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q119591
   TITLE     : How to Obtain Microsoft Support Files from Online Services
 

	
	


Keywords : GdiBmp kbfile kbprg kbsample
Version : 3.0 3.1
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 8, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.