L_IsGrayScaleBitmap

#include "l_bitmap.h"

L_LTKRN_API L_INT L_IsGrayScaleBitmap(pBitmap)

pBITMAPHANDLE pBitmap;

pointer to the bitmap handle

Returns an indicator that shows the kind of grayscale palette, if any, that a bitmap has.

Parameter

Description

pBitmap

Pointer to the bitmap handle referencing the bitmap to test.

Returns

GRAY_NO

[0] Not grayscale.

GRAY_ORDEREDNORMAL

[1] Normally ordered grayscale (dark to light).

GRAY_ORDEREDINVERSE

[2] Reverse ordered grayscale (light to dark).

GRAY_NOTORDERED

[3] Unordered grayscale.

Comments

Grayscale images can be 1-bit, 4-bit, 8-bit, 12-bit or 16-bit. With a 1-bit image, you can use this function to check for inversion (for example, white lines on a black background) caused by an inverted palette.

Required DLLs and Libraries

LTKRN

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, Linux.

See Also

Functions:

L_GrayScaleBitmap

Topics:

Raster Image Functions: Doing Color Expansion or Reduction

 

Color Halftone and Halftone Images

Example

Use L_IsGrayScaleBitmap to decide how to save an image.

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName 
L_INT IsGrayScaleBitmapExample(L_VOID) 
{ 
   L_INT          nRet;       /* Return value */ 
   BITMAPHANDLE   LeadBitmap; /* Bitmap handle for the image */ 
   /* Load a bitmap at its own bits per pixel  */ 
   nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("IMAGE1.CMP")), &LeadBitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGR, NULL, NULL); 
   if(nRet != SUCCESS) 
      return nRet; 
   /* See if the bitmap is grayscale */ 
   nRet = L_IsGrayScaleBitmap(&LeadBitmap); 
   /* Save 24-bit CMP for color, or 8-bit CMP for grayscale */ 
   if (nRet == GRAY_NO) 
      L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("TEST.CMP")), &LeadBitmap, FILE_CMP, 24, QS, NULL); 
   else 
      L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("TEST.CMP")), &LeadBitmap, FILE_CMP, 8, QS, NULL); 
   if(LeadBitmap.Flags.Allocated) 
      L_FreeBitmap(&LeadBitmap); 
   return SUCCESS; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Raster Imaging C API Help