#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: |
|
|
|
|
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.
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. |
Win32, x64.
Functions: |
LAnimationWindow::LAnimationWindow, LAnimationWindow::DoModalColorResItems, LAnimationWindow::Load, LAnimationWindow::PlayAnimation, Class Members |
Topics: |
|
|
|
|
|
|
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
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;
}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET