如何bmp图像翻转
dabou 2001-07-09 12:02:36 我想把bmp图像翻转如何实现呢?
我写的CDib
其中,一个涵数是为了把bmp位图数据上下反存但
24位色的图像才能正确显示.如何解决呢?
void CDib::BmpFilp()
{
int depth=m_pBitmapInfo->bmiHeader.biBitCount/8;
int nWidth=GetWidth();
int nHeight=GetHeight();
hMemHandle=GlobalAlloc(GMEM_FIXED|GMEM_ZEROINIT,depth*GetSize());
BYTE *Bitmap2=(BYTE *)GlobalLock(hMemHandle);
BYTE *Bitmap1 = GetData();
int d=0,nCount=0,pos1=0,pos2=0,i=0;
int nStep=nWidth*depth;
int nStart=nHeight*nWidth*depth;
for(;nHeight>=1;nHeight--)
{
nStart-=nStep;
pos1=nStart; //POS1=(nHeight-1)*nWidth*depth;
memcpy(Bitmap2+pos2,Bitmap1+pos1,nStep);
pos2+=nStep;
}
m_Bitmap2=Bitmap2;
GlobalUnlock(hMemHandle);
}