/*************************************************************************************
用语判断是否是相同的块
*************************************************************************************/BOOL CDlgMosaics::IsSameRect(CDib *bmp1, CDib *bmp2)
{
unsigned int x1,y1,x2,y2;
unsigned int w1=bmp1->m_lpBMIH->biWidth-bmp1->Pix_X;
unsigned int w2=bmp2->m_lpBMIH->biWidth-bmp2->Pix_X;
unsigned int w=(w1>w2)?w2:w1;

x1=bmp1->Pix_X;y1=bmp1->Pix_Y;
x2=bmp2->Pix_X;y2=bmp2->Pix_Y;
for(unsigned int i=0;i<w;i++)
{     
 //判断是否是相同的列,如果是则向左移动继续比较是否是相同的块
if(!IsSameCol(bmp1,bmp2,x1,y1,x2,y2))
return FALSE;
x1++;
x2++;
} unsigned int h=(bmp1->m_lpBMIH->biHeight-bmp1->Pix_Y)<(bmp2->m_lpBMIH->biHeight-bmp2->Pix_Y)?
(bmp1->m_lpBMIH->biHeight-bmp1->Pix_Y):(bmp2->m_lpBMIH->biHeight-bmp2->Pix_Y);
    //如果块的面积比先前的最大面积大,则取代之
if(i*h>MAXarea)
{
MAXarea=i*h; left_starX=bmp1->Pix_X;
    left_starY=bmp1->Pix_Y;
left_endX=i+bmp1->Pix_X;
left_endY=h+bmp1->Pix_Y;
right_starX=bmp2->Pix_X;
right_starY=bmp2->Pix_Y;
right_endX=i+bmp2->Pix_X;
right_endY=h+bmp2->Pix_Y;
}
return TRUE;
}能解释一下么~~这种算法叫什么啊~~