BITMAPCOREHEADER bmch;
RowLength = 4*((bmch.bcWidth * bmch.bcBitcount) + 31) / 32);

解决方案 »

  1.   

    保持字节对齐!
    因为inter的处理器是32位的,如果不对齐,那么会严重降低读取和处理的速度,
    换句话就是用空间换时间!
      

  2.   

    我只是计算每行的长度呀?
    例如bmch.bcWidth = 4; bmch.bcBitcount = 4;
    RowLength = 4*((4*4+31)/32);
    难道是4字节?
    对不起,麻烦以下了!
      

  3.   

    一个字节8 bit
    4 bit * 4 = 16bit = 2 bytes
    但考虑到4字节对齐,所以要补足,当然一行是4bytes了
      

  4.   

    to superinsect(superinsect):
    我觉得如果你说的有点问题,就是感觉像每次拷贝的字节越多的话就越快。是不是32位对齐的说法更准确?!