|
Available in the LEADTOOLS Imaging toolkit. |
ShowEffectDlg Example for C++ 5.0 and later
void CDialogs::OnShowEffectDlg()
{
HRESULT hr;
int nRet;
ILEADRasterDlgKrn_U *m_pRasterDlgKrn = NULL;
hr = CoCreateInstance(CLSID_LEADRasterDlgKrn_U,
NULL,
CLSCTX_ALL,
IID_ILEADRasterDlgKrn_U,
(LPVOID*)&m_pRasterDlgKrn);
ILEADRasterDlgEfx_U *m_pRasterDlgEfx = NULL;
hr = CoCreateInstance(CLSID_LEADRasterDlgEfx_U,
NULL,
CLSCTX_ALL,
IID_ILEADRasterDlgEfx_U,
(LPVOID*)&m_pRasterDlgEfx);
nRet = m_pRasterDlgKrn->InitDlg(INIT_WITH_COLOR);
m_pRasterDlgEfx->Effect->EffectStyle = EFX_EFFECT_BLIND_CLASS;
m_pRasterDlgEfx->Effect->Grain = 5;
m_pRasterDlgEfx->Effect->Delay = 50;
m_pRasterDlgEfx->Effect->MaxPass = 1;
m_pRasterDlgEfx->Effect->Transparent = false;
m_pRasterDlgEfx->Effect->TransparentColor = RGB(0,0,0);
m_pRasterDlgEfx->Effect->WandThickness = 3;
m_pRasterDlgEfx->Effect->WandColor = RGB ( 255, 0, 0 );
m_pRasterDlgEfx->UIFlags = EFFECT_SHOW_PREVIEW |
EFFECT_DELAY |
EFFECT_GRAIN |
EFFECT_PASSES |
EFFECT_TRANSPARENT |
EFFECT_WAND |
EFFECT_CLASS_WIPE |
EFFECT_CLASS_WIPERECT |
EFFECT_CLASS_WIPECIRCLE |
EFFECT_CLASS_PUSH |
EFFECT_CLASS_SLIDE |
EFFECT_CLASS_ROLL |
EFFECT_CLASS_ROTATE |
EFFECT_CLASS_ZOOM |
EFFECT_CLASS_DRIP |
EFFECT_CLASS_BLIND |
EFFECT_CLASS_RANDOM |
EFFECT_CLASS_CHECK |
EFFECT_CLASS_BLOCKS |
EFFECT_CLASS_CIRCLE |
EFFECT_CLASS_ELLIPSE;
m_pRasterDlgEfx->Bitmap = m_pLead1.GetBitmap();
nRet = m_pRasterDlgEfx->ShowEffectDlg((long)m_hWnd);
if ( nRet == 0 && m_pRasterDlgEfx->DialogStatus == DLG_OK)
{
CString csRes1;
CString csRes2;
csRes1.Format(TEXT("Effect: %d\nGrain: %d\nDelay: %d\nMaxPass: %d\nTransparent: %d\n"),
m_pRasterDlgEfx->Effect->EffectStyle,
m_pRasterDlgEfx->Effect->Grain,
m_pRasterDlgEfx->Effect->Delay,
m_pRasterDlgEfx->Effect->MaxPass,
m_pRasterDlgEfx->Effect->Transparent);
csRes2.Format(TEXT("TransparentColor: %ld\nWandWidth: %d\nWandColor: %ld"),
m_pRasterDlgEfx->Effect->TransparentColor,
m_pRasterDlgEfx->Effect->WandThickness,
m_pRasterDlgEfx->Effect->WandColor);
AfxMessageBox(csRes1 + csRes2);
}
}