1.关于bmp头文件,一般都是14bytes的bmp标识+40bytes的bitmap-info,具体的结构体定义网上太多了,我不列出来。这里需要考虑字节对齐就可以了。
2.读取和写入24位的bmp。这里需要考虑行对齐,我之前写过32位的,想当然以为24位的bmp内容会是w*h*3,然而事实啪啪打脸,事情上没那么简单,这里涉及到行对齐问题。它要求每行需要是4的倍数!所以需要检查一下w*3为4的倍数,如果不是,那就做处理:
int line_size = width * 3;
if(line_size & 3)
{
line_size += 4;
line_size &= 0xFFFFFFFC;
}
希望上面两个记录能给阅者解决读写bmp的问题。如果说的不对,希望留言评论,谢谢大家。
1449

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



