上两周在做数字图像处理大作业时碰到一个问题。我想自己在内存中构造一幅24位的bmp位图,那么应该是54个字节的位图头加上后面Width*Height*3个字节的位图数据(24位图没有调色板信息),但是我将构造的数据存入文件后,文件就是显示不出来。我用“画图”构造一幅Width*Height的位图,存入文件后,发现文件比我构造的数据多出来很多字节,而且这个字节是不定的。查了下资料,把原因写下来:
在计算图像大小时,采用公式:biSizeImage = biWidth' × biHeight。是biWidth',而不是biWidth,这里的biWidth'必须是4的整倍数,表示大于或等于biWidth的,离4最近的整倍数。
原来如此,问题解决!