参考博客园

虽然项目里面用的是png 但是很可惜png我没有怎么搞懂,先搞懂最容易解析的bmp数据,
个人所见bmp32位表示的是基本上是没有压缩的数据。
先用 ps 生成一个8*8黑色的数据。
bmp 格式
BM  42 4d
38 10 00 00 表示的是

 0x 00 00 01 38 = 312 ==> 312字节
00 00 00 00 保留位置
36 00 00 00 字节偏移  0x 00 00 00 36 = 54  从开始到数据的开始  有54字节的偏移
28 00 00 00 位图信息段表示的数据  0x 00 00 00 28 = 40    包含 00 00 00 28 一共有着40个字节的偏移到数据
08 00 00 00 图像宽度 
08 00 00 00 图像高度
01 00       平面属性  等于1 
20 00       表示32位的图像
00 00 00 00 表示没有压缩
02 01 00 00 表示??  0x 00 00 01 02
12 0B 00 00 表示水平分辨率
12 0B 00 00 表示垂直分辨率
00 00 00 00 表示的是 使用所有调色板 
00 00 00 00 表示的是重要影响的颜色索引
剩下的  258 个 00 表示的是颜色的值  黑色
理论上是256个数据
外加上两个 00 00 补齐 4 字节对齐。
总体来说  bmp 文件的格式是比较简单的。容易解析和编辑。
推荐使用软件UltraEdit
像素的显示顺序是BGRA 可以参考第三幅图片

图片说明bmp数据白色图片

黑色bmp数据

posted on 2017-07-29 23:47  HDU李少帅  阅读(472)  评论(0)    收藏  举报