LAnimationWindow::ColorResItems
#include "ltwrappr.h"
L_INT LAnimationWindow::ColorResItems(nBitsPerPixel, uFlags, pPalette=NULL, hPalette=NULL, uColors=0)
| L_INT nBitsPerPixel; | /* the new number of bits per pixel */ | 
| L_UINT32 uFlags; | /* flag that indicates processing options */ | 
| LPRGBQUAD pPalette; | /* custom palette to use */ | 
| HPALETTE hPalette; | /* custom palette handle to use */ | 
| L_UINT uColors; | /* number of colors in the palette */ | 
Converts all bitmaps in the bitmap list from any bits-per-pixel to any bits-per-pixel.
| Parameter | Description | 
| nBitsPerPixel | The number of bits per pixel to increase or decrease the bitmaps to. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 16, 24, and 32 | 
| uFlags | Flag that indcates the processing options. Note that the palette and dithering options are useful only when the resulting bitmaps require a palette (when they are 8 bits per pixel or less). You can combine values when appropriate by using a bitwise OR ( | ). Possible values are: | 
| Value | Meaning | 
| CRF_FIXEDPALETTE | [0x01] Use LEAD's fixed palette. | 
| CRF_OPTIMIZEDPALETTE | [0x02] Create an optimized palette. | 
| CRF_NETSCAPEPALETTE | [0x40] Use the fixed palette that is employed by Netscape Navigator and Microsoft Internet Explorer. | 
| CRF_USERPALETTE | [0x10] Use the palette specified in the pPalette parameter. | 
| CRF_IDENTITYPALETTE | [0x08] Insert the Windows system palette. You can combine this flag with CRF_OPTIMIZEDPALETTE. | 
| CRF_FASTMATCHPALETTE | [0x20] Use a predefined table to speed conversion using your own palette. | 
| 
 | Refer to LBitmapSettings::CreateUserMatchTable. | 
| CRF_BYTEORDERBGR | [0x04] Use BGR color order. This flag only has meaning when going to 16 bits per pixel or higher. | 
| CRF_BYTEORDERRGB | [0x00] Use RGB color. This flag only has meaning when going to 16 bits per pixel or higher. | 
| CRF_NODITHERING | [0x00000000] Use nearest color matching. | 
| CRF_FLOYDSTEINDITHERING | [0x00010000] Use Floyd-Steinberg dithering. | 
| CRF_STUCKIDITHERING | [0x00020000] Use Stucki dithering. | 
| CRF_BURKESDITHERING | [0x00030000] Use Burkes dithering. | 
| CRF_SIERRADITHERING | [0x00040000] Use Sierra dithering. | 
| CRF_STEVENSONARCEDITHERING | [0x00050000] Use Stevenson Arce dithering. | 
| CRF_JARVISDITHERING | [0x00060000] Use Jarvis dithering. | 
| CRF_ORDEREDDITHERING | [0x00070000] Use ordered dithering, which is faster but less accurate than other dithering methods. | 
| CRF_CLUSTEREDDITHERING | [0x00080000] Use clustered dithering. | 
| pPalette | The custom palette to use. Specify this parameter as follows: | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| hPalette | The custom palette to use. Specify this parameter as follows: | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| uColors | The number of colors in the palette. Pass 0 to get the default (such as 256 for 8 bits per pixel). Otherwise, do one of the following: | 
| 
 | 
 | 
| 
 | 
 | 
Returns
| SUCCESS | The function was successful. | 
| < 1 | An error occurred. Refer to Return Codes. | 
Comments
You can use this function to create an optimized palette for all bitmaps in the list.
Required DLLs and Libraries
| LTDIS For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. | 
See Also
| Functions: | LAnimationWindow::LAnimationWindow, LAnimationWindow::DoModalColorResItems, LAnimationWindow::Load, LAnimationWindow::PlayAnimation, Class Members | 
| Topics: | |
| 
 | |
| 
 | |
| 
 | 
Example
#include <ltlck.h> //Unlock support
L_VOID TestFunction(HWND hWndParent)
{
   LBase::LoadLibraries(LT_ALL_LEADLIB); 
 //make sure all libraries are loaded
   LAnimationWindow MyAnimation;
   WRPUNLOCKSUPPORT();
   MyAnimation.SetFileName(TEXT("eye.gif"));
   if (MyAnimation.Load()==SUCCESS)
   {
      /* Get an optimized palette for the 
 whole list */
      MyAnimation.ColorResItems(8, 
 CRF_NODITHERING|CRF_OPTIMIZEDPALETTE);
      MyAnimation.CreateWnd(hWndParent,0, 
 WS_VISIBLE|WS_CHILD|WS_BORDER,0,0,300,300);
      MyAnimation.PlayAnimation(); 
 
      while (MyAnimation.IsPlaying())
      {
         if (MyAnimation.DoEvents())
            break; 
 
      }
   } 
}