最近一直在做图片处理的应用。对于图片的分割处理后,图片总是倾斜。很是纠结,花了很久才找到原因。
BITMAP nBitmap;
pDoc->m_pImageHandle->m_hFingerRemoveBitmap->GetBitmap(&nBitmap);
unsigned char *pBitmaps=new unsigned char[nBitmap.bmWidthBytes*nBitmap.bmHeight];
发现,GetBitmapBits是按(width×biBitCount + 1)/2 × 2而进行补零。
GetDIBits是按照(width×biBitCount + 3)/4 × 4而补零。所以当在进行每行nBitmap.bmWidthBytes内存拷贝的时候总是计算出错。而出现图片倾斜。