Fade a Bitmap Using Palette Animation (130804)
The information in this article applies to:
- Microsoft Win32 Application Programming Interface (API), when used with:
- Microsoft Windows NT Server 3.5
- Microsoft Windows NT Server 3.51
- Microsoft Windows NT Server 4.0
- Microsoft Windows NT Workstation 3.5
- Microsoft Windows NT Workstation 3.51
- Microsoft Windows NT Workstation 4.0
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Professional
This article was previously published under Q130804 SUMMARY
PALFADE is a sample application available in the Microsoft Download Center. It demonstrates:
- How to use the AnimatePalette function to fade a bitmap to black.
- How to use the DIBAPI32.DLL library that can be built by the WINCAP32
sample that ships with the Microsoft Win32 SDK.
To perform palette animation, the sample creates a logical palette for a
Device-Independent Bitmap (DIB) with the PC_RESERVED flag set for each
palette entry. PALFADE loads, displays, and animates both Windows-style and
OS/2-style DIB files.
MORE INFORMATIONThe 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.
Before performing palette animation on a logical palette entry, ensure that
the palette entry has the PC_RESERVED flag set. To fade a bitmap drawn on a
device context with a PC_RESERVED palette selected, you can lower the RGB
values for each color in the palette in a loop until all colors are black.
The default system palette contains 20 static colors. These static colors
take up the first ten and last ten colors of the system palette; these
palette entries are not available for animation. If you try to fade a
bitmap that has 256 unique colors by creating a 256-color palette with each
palette entry set to PC_RESERVED, you are not guaranteed that every logical
palette entry will map to an entry in the system palette that is available
for palette animation.
One solution to this is to create a logical palette that contains only 236
colors. The PALFADE sample demonstrates one way to create an optimal
palette of 236 colors given a device-independent bitmap with 256 colors in
its color table.
Given a 256-color DIB, PALFADE traverses through every bit in the bitmap to
find the least-used 20 colors in the color table. Then it creates a logical
palette out of the 236 most-used colors. This ensures that all entries in
the logical palette will animate.
This sample uses many of the DIB support functions included with the
DIBAPI32.DLL library. It does not use the LoadDIB() function, because it was not written to handle OS/2-style DIB files. Instead, PALFADE implements the DIB-loading routines found in the Win32 SDK SHOWDIB sample.
NOTE: DIBAPI32.DLL is included with this sample.
Modification Type: | Minor | Last Reviewed: | 3/7/2005 |
---|
Keywords: | kbdownload kbFAQ kbfile kbgraphic kbinfo KB130804 kbAudDeveloper |
---|
|