最近一直在做图片处理的应用。对于图片的分割处理后,图片总是倾斜。很是纠结,花了很久才找到原因。
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内存拷贝的时候总是计算出错。而出现图片倾斜。
本文探讨了在图片处理应用中遇到的图片倾斜问题。通过对比GetBitmapBits与GetDIBits函数在填充零位上的不同处理方式,揭示了图片在内存拷贝过程中因宽度字节计算错误而导致倾斜的原因。
9974

被折叠的 条评论
为什么被折叠?



