LBitmap::ChangeSaturation

#include "ltwrappr.h"

virtual L_INT LBitmap::ChangeSaturation(nChange, uFlags = 0)

L_INT nChange;

/* amount to change saturation */

L_UINT32 uFlags;

/* flags */

Increases or decreases the saturation of colors in the class object's bitmap.

Parameter

Description

nChange

Amount to change saturation. Values are percentages between -100 and +100.

uFlags

Reserved for future use. Must be 0.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Negative values decrease the saturation of colors. Positive values increase the saturation. The saturation level is increased or decreased by a percentage of its present saturation level. For example, an increase of 20% of the current saturation level "L" will raise the new saturation level "L1" to a value L + 0.20 * L. Likewise, increasing the saturation level 100% doubles the saturation level ( L1 = L + 1.0 * L). Decreasing the saturation level 100% will set the new saturation level to 0. This process is carried out for every pixel.

To update a status bar or detect a user interrupt during execution of this function, refer to LBase::EnableStatusCallback.

This function supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.

This function does not support signed data images. It returns the error code ERROR_SIGNED_DATA_NOT_SUPPORTED if a signed data image is passed to this function.

This function does not support 32-bit grayscale images. It returns the error code ERROR_GRAY32_UNSUPPORTED if a 32-bit grayscale image is passed to this function.

Required DLLs and Libraries

LTDIS
LTFIL
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.

See Also

Functions:

LBitmap::AdjustTint. LBitmap::ColorHalfTone, LBitmap::ChangeHue, LBitmap::GammaCorrect, LBitmap::HistoContrast, LBitmap::StretchIntensity, LBitmap::RemapIntensity, LBitmap::Invert, LBitmap::ChangeContrast, LBitmap::ChangeIntensity, LBitmap::HistoEqualize, LBitmap::GetHistogram, LBitmap::WindowLevel, LBitmapBase::Fill, LBitmapBase::GetPixelColor, LBitmapBase::PutPixelColor, Class Members

Topics:

Raster Image Functions: Modifying Intensity Values

 

Correcting Colors

 

Raster Image Functions: Changing Brightness and Contrast

 

Raster Image Functions: Correcting Colors

Example

//ChangeSaturation

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
L_INT LBitmap__ChangeSaturationExample()
{
   L_INT nRet;
   LBitmap m_Bitmap;
   nRet =m_Bitmap.Load(MAKE_IMAGE_PATH(TEXT("image1.cmp")), 0,ORDER_BGR);
   if(nRet !=SUCCESS)
      return nRet;
   // Increase the Saturation
   nRet =m_Bitmap.ChangeSaturation(20);
   if(nRet !=SUCCESS)
      return nRet;
   return SUCCESS;
}