|
Available in the LEADTOOLS Imaging toolkit. |
DlgFont Example for C++ 5.0 and later
void CDialogs:: OnShowMotionBlurDlg ()
{
HRESULT hr;
int nRet;
ILEADRasterDlgKrn_U *m_pRasterDlgKrn = NULL;
hr = CoCreateInstance(CLSID_LEADRasterDlgKrn_U,
NULL,
CLSCTX_ALL,
IID_ILEADRasterDlgKrn_U,
(LPVOID*)&m_pRasterDlgKrn);
ILEADRasterDlgImgEfx_U *m_pRasterDlgImgEfx = NULL;
hr = CoCreateInstance(CLSID_LEADRasterDlgImgEfx_U,
NULL,
CLSCTX_ALL,
IID_ILEADRasterDlgImgEfx_U,
(LPVOID*)&m_pRasterDlgImgEfx);
nRet = m_pRasterDlgKrn->InitDlg(INIT_WITH_COLOR);
CString strDlg;
m_pRasterDlgImgEfx->Bitmap = m_pLead1.GetBitmap();
m_pRasterDlgImgEfx->EnableZoomToFit= true;
m_pRasterDlgImgEfx->UIFlags = MOTIONBLUR_SHOW_PREVIEW |
MOTIONBLUR_SHOW_TOOL_ZOOMLEVEL;
m_pRasterDlgKrn->SetDlgString(MOTIONBLUR_IDSTR_CAPTION, "My Custom Caption");
IFont * pFont = NULL;
CY size;
CString csFontName;
csFontName = _T("Bones");
BSTR bstrFontName = csFontName.AllocSysString();
IFontDisp * pFontDisp = m_pRasterDlgKrn->GetDlgFont();
pFontDisp->QueryInterface(IID_IFont, (void **)&pFont);
pFont->put_Name(bstrFontName);
size.Hi = 0;
size.Lo = 9*10000L; // 9 point
pFont->put_Size(size);
IFontDisp * pMyFontDisp = NULL;
pFont->QueryInterface(IID_IFont, (void **)&pMyFontDisp);
m_pRasterDlgKrn->PutDlgFont(pMyFontDisp);
SysFreeString(bstrFontName);
pMyFontDisp->Release();
pFont->Release();
pFontDisp->Release();
nRet = m_pRasterDlgImgEfx->ShowMotionBlurDlg ((long)this->m_hWnd);
if (nRet == 0 && m_pRasterDlgImgEfx->DialogStatus == DLG_OK)
{
m_pLead1.MotionBlur(m_pRasterDlgImgEfx->Dimension,
m_pRasterDlgImgEfx->Angle,
m_pRasterDlgImgEfx->EnableUniDirectional);
}
}