Displays the Balance Colors dialog box, and gets the options for LBitmap::BalanceColors.
#include "ltwrappr.h"
virtual L_INT LDialogColor::DoModalBalanceColors(hWndOwner)
Handle of the window which owns the dialog.
Value | Meaning |
---|---|
SUCCESS_DLG_OK | The "OK" button was pressed, and the dialog exited successfully. |
SUCCESS_DLG_CANCEL | The "Cancel" button was pressed, and the dialog exited successfully. |
< 1 | An error occurred. Refer to Return Codes. |
LDialogColor::SetBalanceColorsParams must be called before using this function to set the initial values for the dialog. You can get the updated BALANCECOLORSDLGPARAMS with the values entered by the user through the dialog by using LDialogColor::GetBalanceColorsParams.
This function supports only RGB images. It does not support grayscale images.
Support for 48-bit and 64-bit colored images are available only in the Document/Medical toolkits.
L_INT LDialogColor_DoModalBalanceColorsExample(LBitmap * pBitmap, HWND hWnd)
{
L_INT nRet;
LDialogColor DlgColor;
nRet = DlgColor.Initialize(DLG_INIT_COLOR );
if(nRet != SUCCESS)
return nRet;
DlgColor.SetBitmap(pBitmap);
BALANCECOLORSDLGPARAMS DlgParams ;
BALANCING RedFactor ;
BALANCING GreenFactor ;
BALANCING BlueFactor ;
memset ( &DlgParams, 0, sizeof ( BALANCECOLORSDLGPARAMS ) ) ;
memset ( &RedFactor, 0, sizeof ( BALANCING ) ) ;
memset ( &GreenFactor, 0, sizeof ( BALANCING ) ) ;
memset ( &BlueFactor, 0, sizeof ( BALANCING ) ) ;
DlgParams.uStructSize = sizeof ( BALANCECOLORSDLGPARAMS ) ;
DlgParams.RedFactor = RedFactor ;
DlgParams.GreenFactor = GreenFactor ;
DlgParams.BlueFactor = BlueFactor ;
DlgColor.EnableCallBack (FALSE);
DlgColor.EnablePreview(TRUE);
DlgColor.EnableAutoProcess(TRUE);
DlgColor.EnableToolbar(TRUE);
nRet = DlgColor.SetBalanceColorsParams(&DlgParams) ;
if(nRet != SUCCESS)
return nRet;
nRet = DlgColor.DoModalBalanceColors(hWnd);
if(nRet < 1)
return nRet;
// Gets the updated values for the structure
nRet = DlgColor.GetBalanceColorsParams(&DlgParams, sizeof(DlgParams)) ;
if(nRet != SUCCESS)
return nRet;
nRet = DlgColor.Free();
if(nRet != SUCCESS)
return nRet;
return nRet;
}