Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充,开发过程中:

int temp_Width = (m_orgWidth*3+3)/4*4;

用24位位图来说,如果高是2:
如果宽为5,则每行实际占15字节,buf的每行末位只补1个0x00//16-15=1
如果宽为6,则每行实际占18字节,buf的每行末位只补2个0x00//20-18=2
如果宽为7,则每行实际占21字节,buf的每行末位只补3个0x00//24-21=3

平时我们读取并操作并未考虑4字节对齐,因为原图就是4字节对齐的而此时我们的操作并未变更字节,做“灰度变换”。变更时而不对齐其结果就是图像倾斜(windows图像显示是按照4字节对齐的)。