代码是为两个:imageSo和imageDe创建CreateImageHeader,然后通过scanline对imagedata赋值,然后通过判断角度旋转,然后通过imagedata对scanline赋值,
我将主要代码显示为后面所说的,希望有人能给我建议或想法。
创造:
imageSo = CreateImageHeader(bmp->PixelFormat, bmp->Width,bmp->Height);
imageDe = CreateImageHeader(bmp->PixelFormat, bmp->Width,bmp->Height);
转移:
bit1=(BYTE*) bmp->ScanLine[hSrc-1];
bit2=imageSo->imageData;
for(int i=0;i < hSrc;i++)
{
memcpy(bit2,bit1,cpy);
bit1+=wBmp;
bit2+=wIpl;
}
旋转:
if(param.Angle){
double xshift=0;
double yshift=0;
iiplGetRotateShift(bmp->Width/2,bmp->Height/2,BmpProperty.Angle,&xshift,&yshift);
iiplRotate(imageSo,imageDe,BmpProperty.Angle,xshift,yshift,IPL_INTER_CUBIC|IPL_SMOOTH_EDGE);
}
班次2:
bit1=(BYTE*) bmp->ScanLine[hSrc-1];
bit2=imageSo->imageData;
for(int i=0;i < hSrc;i++)
{
memcpy(bit1,bit2,cpy);
bit1+=wBmp;
bit2+=wIpl;
}