Converts all bitmaps in the bitmap list from any bits-per-pixel to any bits-per-pixel.
#include "ltwrappr.h"
L_INT LAnimationWindow::ColorResItems(nBitsPerPixel, uFlags, pPalette=NULL, hPalette=NULL, uColors=0)
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
Flag that indicates 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. |
The custom palette to use. Specify this parameter as follows:
The custom palette to use. Specify this parameter as follows:
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:
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
You can use this function to create an optimized palette for all bitmaps in the list.
NOTE: Using this function to change the color order of a 24-bit or 32-bit image (i.e. RGB to BGR) will have no effect on the image when painting or saving (to a file). If you want to change the visual appearance, you can simply swap the Order member of the BITMAPHANDLE.
Win32, x64.
L_INT LAnnAutomation_LAnnAutomation_LAnimationWindow_ColorResItemsExample(HWND hWndParent)
{
L_INT nRet;
LBase::LoadLibraries(LT_ALL_LEADLIB);
//make sure all libraries are loaded
LAnimationWindow MyAnimation;
MyAnimation.SetFileName(MAKE_IMAGE_PATH(TEXT("eye.gif")));
nRet = MyAnimation.Load();
if (nRet==SUCCESS)
{
/* Get an optimized palette for the whole list */
nRet = MyAnimation.ColorResItems(8, CRF_NODITHERING|CRF_OPTIMIZEDPALETTE);
if(nRet != SUCCESS)
return nRet;
MyAnimation.CreateWnd(hWndParent,0, WS_VISIBLE|WS_CHILD|WS_BORDER,0,0,300,300);
nRet = MyAnimation.PlayAnimation();
if(nRet != SUCCESS)
return nRet;
while (MyAnimation.IsPlaying())
{
if (MyAnimation.DoEvents())
break;
}
}
else
return nRet;
return SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document