OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9360|回复: 5

光盘目录下BMP图片疑惑

[复制链接]

2

主题

16

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2012-8-28
在线时间
0 小时
发表于 2012-9-27 16:32:23 | 显示全部楼层 |阅读模式
问题:在光盘目录下ALIENTEK 开发板资料 (H)\SD卡根目录文件\PICTURE\GIF\开发板 下面存在10张BMP格式的图片,查看其属性为100*40的尺寸,单色图,用windos查看发现其占用字节竟然是702字节,BMP文件头占14字节,文件信息头占40字节,颜色表由于单色占8字节,那么实际位图数据占640字节,这个与我在程序中读取出来的数据一样的。但是根据尺寸算法100*40占用4000字节,因为是单色,每8个像素占用一个字节,那么位图数据应该占用4000/8=500字节。640与500中间差了140个字节的数据?何故?同时我在电脑中找到另一张BMP图片,大小为32*32.单色,而它的占用字节计算值与实际程序仿真读取到占用值是一样的。不知为何光盘里面的图片会出现这个问题?附上2图片
3.bmp
1.bmp
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2012-8-28
在线时间
0 小时
 楼主| 发表于 2012-9-27 17:08:41 | 显示全部楼层
在电脑上又找了3张图片,验证了算法的正确性。其他的图片根据长乘宽乘以单个像素所占位宽都是正确的,为啥咱们光盘的图片多了140个字节?谁偷了这140个字节?上另三张图
4.bmp
5.bmp
2.bmp
回复 支持 反对

使用道具 举报

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2012-9-11
在线时间
4 小时
发表于 2012-9-27 17:21:42 | 显示全部楼层
因为BMP文件每行扫描是4字节对齐的,不足4字节的整数倍要补充为4字节的整数倍。
这个图片每行100个像素,那么占100/8=12.5字节,要补充为16字节。
那么40行就是640字节。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-9-27 22:15:33 | 显示全部楼层
楼上高手.
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2012-8-28
在线时间
0 小时
 楼主| 发表于 2012-9-28 17:13:18 | 显示全部楼层
回复【3楼】TYZZD:
---------------------------------
谢谢,按你的说法,就是说一行是需要写16个字节,那么就是说一行要写16*8个像素,就是128个像素。图像本身一行只有100个像素,剩余的28个像素全部补成0,是这样理解吗???
回复 支持 反对

使用道具 举报

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2012-9-11
在线时间
4 小时
发表于 2012-9-28 20:31:05 | 显示全部楼层
剩余的补充什么我不清楚,反正用不着。这个你可以看看BMP规范
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 03:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表