L_GetBitmapColorCount

#include "l_bitmap.h"

L_LTIMGCLR_API L_INT L_GetBitmapColorCount(pBitmap, puCount, uFlags)

pBITMAPHANDLE pBitmap;

/* pointer to the bitmap handle */

L_UINT * puCount;

/* address of the variable to be updated */

L_UINT32 uFlags;

/* flags*/

Gets the number of unique colors in an image.

Parameter

Description

pBitmap

Pointer to the bitmap handle referencing the bitmap.

puCount

Address of the variable to be updated with the number of unique colors.

uFlags

Reserved for future use. Must be 0.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function supports 12 and 16-bit grayscale images. Support for 12 and 16-bit grayscale images is available in the Document and Medical Imaging toolkits.

This function supports 32-bit grayscale images.

Required DLLs and Libraries

LTIMGCLR

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Win32, x64, Mobile.

See Also

Functions:

L_GetPixelColor, L_PutPixelColor, L_WindowLevel

Topics:

Raster Image Functions: Getting and Setting Pixel Values

 

Color Halftone and Halftone Images

Example

This example displays the number of unique colors in the specified bitmap.

#if defined (LEADTOOLS_V16_OR_LATER)
L_INT  GetBitmapColorCountExample(pBITMAPHANDLE pBitmap)
{
   L_INT nRet;
   L_TCHAR szMessage[80]; /* Buffer for the MessageBox string */
   L_UINT32 dwColors; /* Number of colors in the bitmap */
   /* Get the number of colors in the bitmap */
   nRet = L_GetBitmapColorCount(pBitmap, &dwColors, 0);
   if(nRet !=SUCCESS)
      return nRet;
   /* Display the result in a message */
   wsprintf( szMessage, TEXT("The bitmap has %ld colors"), dwColors );
   MessageBox (NULL, szMessage, MAKE_IMAGE_PATH(TEXT("Notice")), MB_OK);
   return SUCCESS;
}
#else
L_INT  GetBitmapColorCountExample(pBITMAPHANDLE pBitmap)
{
   L_INT nRet;
   L_TCHAR szMessage[80]; /* Buffer for the MessageBox string */
   L_UINT32 dwColors; /* Number of colors in the bitmap */
   /* Get the number of colors in the bitmap */
   nRet = L_GetBitmapColorCount(pBitmap, &dwColors);
   if(nRet !=SUCCESS)
      return nRet;
   /* Display the result in a message */
   wsprintf( szMessage, TEXT("The bitmap has %ld colors"), dwColors );
   MessageBox (NULL, szMessage,MAKE_IMAGE_PATH(TEXT("Notice")), MB_OK);
   return SUCCESS;
}
#endif // LEADTOOLS_V16_OR_LATER