GetTransformationParameters Example for C++ 5.0 and later
ILEADRasterProcess* m_pRasterProc= NULL;
CoCreateInstance(CLSID_LEADRasterProcess, NULL, CLSCTX_ALL, IID_ILEADRasterProcess, 
 (void**)&m_pRasterProc);
int nRet;
nRet = m_pRasterProc->IsRegistrationMark(m_LeadRasterView.GetRaster (), RGS_T, 90, 
 110, 31, 29);
if (nRet == 0) 
    MessageBox (TEXT("it is a registration mark"));
m_pRasterProc->Release();
m_pRasterProc->PutReferencePointsX(0,81400);
m_pRasterProc->PutReferencePointsY(0,11300);
m_pRasterProc->PutReferencePointsX(1,78600);
m_pRasterProc->PutReferencePointsY(1,87400);
m_pRasterProc->PutReferencePointsX(2,79400);
m_pRasterProc->PutReferencePointsX(2,116000);
m_pRasterProc->MarksCount 
 = 3;
m_pRasterProc->GetMark(0)->Type = RGS_T;
m_pRasterProc->GetMark(0)->MinScale 
 = 90;
m_pRasterProc->GetMark(0)->MaxScale 
 = 110;
m_pRasterProc->GetMark(0)->Width 
 = 31;
m_pRasterProc->GetMark(0)->Height 
 = 29;
m_pRasterProc->GetMark(0)->Top 
 = 72;
m_pRasterProc->GetMark(0)->Left 
 = 741;
m_pRasterProc->GetMark(0)->Bottom 
 = 171;
m_pRasterProc->GetMark(0)->Right 
 = 896;
m_pRasterProc->GetMark(0)->NumberOfExpectedMarks 
 = 1;
m_pRasterProc->GetMark(1)->Type = RGS_T;
m_pRasterProc->GetMark(1)->MinScale = 90;
m_pRasterProc->GetMark(1)->MaxScale = 110;
m_pRasterProc->GetMark(1)->Width = 31;
m_pRasterProc->GetMark(1)->Height = 29;
m_pRasterProc->GetMark(1)->Top = 836;
m_pRasterProc->GetMark(1)->Left = 706;
m_pRasterProc->GetMark(1)->Bottom = 908;
m_pRasterProc->GetMark(1)->Right = 840;
m_pRasterProc->GetMark(1)->NumberOfExpectedMarks = 1;
m_pRasterProc->GetMark(2)->Type = RGS_T;
m_pRasterProc->GetMark(2)->MinScale = 90;
m_pRasterProc->GetMark(2)->MaxScale = 110;
m_pRasterProc->GetMark(2)->Width = 31;
m_pRasterProc->GetMark(2)->Height = 29;
m_pRasterProc->GetMark(2)->Top = 1118;
m_pRasterProc->GetMark(2)->Left = 729;
m_pRasterProc->GetMark(2)->Bottom = 1199;
m_pRasterProc->GetMark(2)->Right = 852;
m_pRasterProc->GetMark(2)->NumberOfExpectedMarks = 1;
m_pRasterProc->SearchRegMarks 
 (m_LeadRasterView.GetRaster());
for (int i = 0; i<3 ;++i)
{
    m_pRasterProc->PutMarkPointX(i, 
 m_pRasterProc->GetMark(i)->GetDetectedMarkPointX(0));
    m_pRasterProc->PutMarkPointY(i,m_pRasterProc->GetMark(i)->GetDetectedMarkPointY (0));
}
m_pRasterProc->GetMarksCenterMass 
 (m_LeadRasterView.GetRaster());
for (int i = 0; i<3 ;++i)
{
    m_pRasterProc->PutTransformedPointsX(i, 
 m_pRasterProc->GetMarkCMPointX(i));
    m_pRasterProc->PutTransformedPointsY(i, 
 m_pRasterProc->GetMarkCMPointY(i));
}
m_pRasterProc->GetTransformationParameters(m_LeadRasterView.GetRaster());
m_pRasterProc->ApplyTransformationParameters(m_LeadRasterView.GetRaster(),
                   
 m_pRasterProc->XTranslation, 
 
                   
 m_pRasterProc->YTranslation, 
 
                   
 m_pRasterProc->TransformationAngle, 
 
                   
 m_pRasterProc->XScale, 
 
                   
 m_pRasterProc->YScale, 
 
                   
 RGS_SIZE_NORMAL|RGS_SIZE_FAVORWHITE);
}