JBIG2GBATX1 Example for C++ 5.0 and later
ILEADRasterDlgFile * pRasterFileDlg
= NULL;
ILEADRasterIO * pRasterIO = NULL;
CoCreateInstance(CLSID_LEADRasterIO, NULL, CLSCTX_ALL,
IID_ILEADRasterIO, (void**)&pRasterIO);
CoCreateInstance(CLSID_LEADRasterDlgFile, NULL, CLSCTX_ALL,
IID_ILEADRasterDlgFile, (void**)&pRasterFileDlg);
m_RasterView.GetRaster().UnlockSupport(L_SUPPORT_JBIG2,
L_KEY_JBIG2);
pRasterIO->Load(m_RasterView.GetRaster(), TEXT("c:\\1.jpg"),
0, 0, 1);
int nRet = 0;
pRasterFileDlg->DialogTitle = "Save a File";
pRasterFileDlg->FileDlgFlags = 0;
pRasterFileDlg->InitialDir = "C:\\";
pRasterFileDlg->SaveMulti = MULTIPAGE_OVERWRITE;
pRasterFileDlg->UIFlags = SAVE_AUTOPROCESS
|
SAVE_SHOW_FILEOPTIONS_PROGRESSIVE
|
SAVE_SHOW_FILEOPTIONS_MULTIPAGE
|
SAVE_SHOW_FILEOPTIONS_STAMP
|
SAVE_SHOW_FILEOPTIONS_QFACTOR
|
SAVE_SHOW_FILEOPTIONS_J2KOPTIONS
|
SAVE_SHOW_FILEOPTIONS_BASICJ2KOPTIONS
|
SAVE_SHOW_FILEOPTIONS_JBIG2OPTIONS;
pRasterFileDlg->Bitmap = m_LeadRasterView.GetRaster
().GetBitmap ();
nRet = pRasterFileDlg->ShowSaveDlg ((long)this->m_hWnd);
if ( nRet == 0 && pRasterFileDlg->DialogStatus
==DLG_OK )
{
if (pRasterFileDlg->SaveFormat ==
FILE_JBIG2 ||
pRasterFileDlg->SaveFormat
== FILE_RAS_PDF_JBIG2 ||
pRasterFileDlg->SaveFormat
== FILE_TIF_JBIG2)
{
pRasterIO->JBIG2ImageGBATX1
= pRasterFileDlg->JBIG2ImageGBATX1;
pRasterIO->JBIG2ImageGBATY1
= pRasterFileDlg->JBIG2ImageGBATY1;
pRasterIO->JBIG2ImageGBATX2
= pRasterFileDlg->JBIG2ImageGBATX2;
pRasterIO->JBIG2ImageGBATY2
= pRasterFileDlg->JBIG2ImageGBATY2;
pRasterIO->JBIG2ImageGBATX3
= pRasterFileDlg->JBIG2ImageGBATX3;
pRasterIO->JBIG2ImageGBATY3
= pRasterFileDlg->JBIG2ImageGBATY3;
pRasterIO->JBIG2ImageGBATX4
= pRasterFileDlg->JBIG2ImageGBATX4;
pRasterIO->JBIG2ImageGBATY4
= pRasterFileDlg->JBIG2ImageGBATY4;
pRasterIO->JBIG2ImageTemplateType
= pRasterFileDlg->JBIG2ImageTemplateType;
pRasterIO->JBIG2ImageFlags
= pRasterFileDlg->JBIG2ImageFlags;
pRasterIO->JBIG2ImageQFactor
= pRasterFileDlg->JBIG2ImageQFactor;
pRasterIO->JBIG2TextGBATX1
= pRasterFileDlg->JBIG2TextGBATX1;
pRasterIO->JBIG2TextGBATY1
= pRasterFileDlg->JBIG2TextGBATY1;
pRasterIO->JBIG2TextGBATX2
= pRasterFileDlg->JBIG2TextGBATX2;
pRasterIO->JBIG2TextGBATY2
= pRasterFileDlg->JBIG2TextGBATY2;
pRasterIO->JBIG2TextGBATX3
= pRasterFileDlg->JBIG2TextGBATX3;
pRasterIO->JBIG2TextGBATY3
= pRasterFileDlg->JBIG2TextGBATY3;
pRasterIO->JBIG2TextGBATX4
= pRasterFileDlg->JBIG2TextGBATX4;
pRasterIO->JBIG2TextGBATY4
= pRasterFileDlg->JBIG2TextGBATY4;
pRasterIO->JBIG2TextTemplateType
= pRasterFileDlg->JBIG2TextTemplateType;
pRasterIO->JBIG2TextFlags
= pRasterFileDlg->JBIG2TextFlags;
pRasterIO->JBIG2TextQFactor
= pRasterFileDlg->JBIG2TextQFactor;
pRasterIO->JBIG2TextMinSymArea
= pRasterFileDlg->JBIG2TextMinSymArea;
pRasterIO->JBIG2TextMinSymWidth
= pRasterFileDlg->JBIG2TextMinSymWidth;
pRasterIO->JBIG2TextMinSymHeight
= pRasterFileDlg->JBIG2TextMinSymHeight;
pRasterIO->JBIG2TextMaxSymArea
= pRasterFileDlg->JBIG2TextMaxSymArea;
pRasterIO->JBIG2TextMaxSymWidth
= pRasterFileDlg->JBIG2TextMaxSymWidth;
pRasterIO->JBIG2TextMaxSymHeight
= pRasterFileDlg->JBIG2TextMaxSymHeight;
pRasterIO->JBIG2TextDifThreshold
= pRasterFileDlg->JBIG2TextDifThreshold;
pRasterIO->JBIG2YResolution
= pRasterFileDlg->JBIG2YResolution;
pRasterIO->JBIG2XResolution
= pRasterFileDlg->JBIG2XResolution;
pRasterIO->JBIG2Flags
= pRasterFileDlg->JBIG2Flags;
pRasterIO->Save
(m_RasterView.GetRaster(),pRasterFileDlg->FileName, (RasterFileConstants)
pRasterFileDlg->SaveFormat, 1, QFACTOR_LEAD_0, 0);
}
}
if(pRasterIO)
pRasterIO->Release();
if(pRasterFileDlg)
pRasterFileDlg->Release();