bmp文件的格式问题

safewolf 2013-04-22 03:00:29
按照我的理解,bmp文件大小和像素是相关的

比如24位的bmp文件一个像素应该是3个字节
bmp文件的文件头是54字节

那文件大小应该是54 + 3*w*h

比如100*100的文件应该是54 + 3*100*100 = 30054字节

但是我在windows上用画图新建了几个bmp文件出现这么个问题
1.270*270的,应该是54 + 3*270*270 = 218754,但是实际上保存的文件是219294,多出540字节
2.619*409的,应该是54 + 3*619*409 = 759567,但是实际结果是760794,多出1227字节
3.540*540的文件,实际结果正确
4.1*1的文件,应该是54+ 3 * 1 * 1 = 57,实际结果58
发现规律实际上是最终文件大小为 54 + (3 * w + n) * h
其中w为宽度的像素,h为高度的像素,n为未知参数,比如在情况1中,n=2,情况2种n=3,情况4种n=1

有人能给解释一下具体原因吗?
...全文
150 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2013-04-22
  • 打赏
  • 举报
回复
270*270 每行270*3个字节, 距离810字节, 距离4字节差2个,所以每行要补充2个字节的0 270*2 = 540 就是你多出来的字节数 619*409 619*3 = 1857 而1860才是4的倍数,每行补充3个字节, 所以409*3是多出来的字节 类似计算去
寻开心 2013-04-22
  • 打赏
  • 举报
回复
bmp文件存储的时候,有个4字节宽度对齐的要求。 数据文件大小是不同的

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧