LVLCLR

Summary

The LVLCLR structure is used to set color-leveling information (when used in L_ColorLevelBitmap) or to retrieve color-leveling information (when used in L_AutoColorLevelBitmap).

Syntax

typedef struct tagLVLCLR { 
   L_UINT uStructSize; 
   LVLCLRINF master; 
   LVLCLRINF red; 
   LVLCLRINF green; 
   LVLCLRINF blue; 
} LVLCLR, *pLVLCLR; 

Members

uStructSize

Size of this structure, in bytes. Use the sizeof operator to calculate this value.

master

A LVLCLRINF structure that sets the color-leveling information for the master channel when used in L_ColorLevelBitmap.

When used in L_AutoColorLevelBitmap with the flag AUTO_CONTRAST or AUTO_INTENSITY, it retrieves the color-leveling information of the master channel *.

red

A LVLCLRINF structure that sets the color-leveling information for the red channel when used in L_ColorLevelBitmap. When used in L_AutoColorLevelBitmap with the flag AUTO_LEVEL, it retrieves the color-leveling information of the red channel.

green

A LVLCLRINF structure that sets the color-leveling information for the green channel when used in L_ColorLevelBitmap. When used in L_AutoColorLevelBitmap with the flag AUTO_LEVEL, it retrieves the color-leveling information of the green channel.

blue

A LVLCLRINF structure that sets the color-leveling information for the blue channel when used in L_ColorLevelBitmap. When used in L_AutoColorLevelBitmap with the flag AUTO_LEVEL, it retrieves the color-leveling information of the blue channel.

Comments

When used in the L_ColorLevelBitmap function, the LVLCLR structure contains information about the shadows (uMinInput), highlights (uMaxInput), and mapping (uMaxOutput, uMaxOutput, uGamma) values for the specified channel(s) when applying leveling to an image.

When used in the L_AutoColorLevelBitmap function, the LVLCLR structure retrieves the settings for the shadows (uMinInput), highlights (uMaxInput), and mapping values (uMaxOutput, uMaxOutput and uGamma) of the channels that are used in order to apply one of the leveling effects to an image. If these settings are then used with the L_ColorLevelBitmap function, the effect produced will be the same as if the L_AutoColorLevelBitmap function had been used with the appropriate AUTO_LEVEL, AUTO_CONTRAST, or AUTO_INTENSITY processing flag.

If uFlags in L_AutoColorLevelBitmap is set to AUTO_LEVEL, then the master channel is unchanged. For example, if the bitmap is 8 bits per component then the R, G and B channels will have the values 0, 255, 0, 255 and DEFAULT_GAMMA respectively.

If uFlags in L_AutoColorLevelBitmap is set to AUTO_CONTRAST or AUTO_INTENSITY, then the red, green and blue channels are unchanged. For example, if the bitmap is 8 bits per component then the R, G and B channels will have the value 0, 255, 0, 255 and DEFAULT_GAMMA respectively.

Calculating Master Channel Values

In order to speed up widely used image processing filters in LEADTOOLS, the grayscale value (master channel) of a colored image is calculated using the following formulas:

#define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8)))) 
#define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8)) 
#define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8)) 

Usage

Help Version 22.0.2023.7.11
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.