本文整理汇总了C++中CImg::ImResize方法的典型用法代码示例。如果您正苦于以下问题:C++ CImg::ImResize方法的具体用法?C++ CImg::ImResize怎么用?C++ CImg::ImResize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CImg
的用法示例。
在下文中一共展示了CImg::ImResize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Move
CImg* CDimageView::Move(int x, int y ,bool ifresize, CImg* pImg)
{
CImg* newImg = new CImg(*pImg);
//改变新图像大小
int old_width,old_height,width,height;
width=old_width=newImg->GetWidthPixel();
height=old_height=newImg->GetHeight();
//if(!ifunchange)
//{
// width=old_width+x;
// height=old_height+y;
// if((width<=0)||(height<=0))
// {
// CString test("妈呀,图都被你整没了!");
// CString title("数值有误");
// MessageBox(test,title,0);
// return NULL;
// }
//}
if(ifresize)
{
width=old_width+x;
height=old_height+y;
newImg->ImResize(height,width);
}
int i0,j0,i,j;
COLORREF color;
for(i=0;i<width;i++)
for(j=0;j<height;j++)
{
i0=i-x;j0=j-y;
if((i0>=0)&&(i0<old_width)&&(j0>=0)&&(j0<old_height))
{
color=pImg->GetPixel(i0,j0);
}
else
{
color=RGB(255,255,255);
//if(!ifunchange)
// color=RGB(255,255,255);
//else
//{
// if(!ifloop)
// color=RGB(255,255,255);
// else
// {
// i0=i0%width;
// j0=j0%height;
// if(i0<0)
// i0+=width;
// if(i0>=width)
// i0-=width;
// if(j0<0)
// j0+=height;
// if(j0>=height)
// j0-=height;
// color=pImg->GetPixel(i0,j0);
// }
//}
}
newImg->SetPixel(i,j,color);
}
return newImg;
}