bmp图片文件格式

(参考大佬的博客,自己做个记录)

经典图片为例:

建议用010EDITOR打开,再套上官方BMP模板。(在另一篇资源里,下面默认打开了模板)注意windows下表示属性的一组16进制数要倒着读。例如下方36 00 0C 00为文件大小,转为16进制应为0C 00 36即 786486(dec)。

必要文件头:

BITMAPFILEHEADER: 前两字节为BMP文件头42 4D,之后4字节36 00 0C 00为整个文件大小。剩下的一般用不到(也不太会解释。。)模板中会显示BITMAPFILEHEADER大小为Eh,即14dec。

BITMAPINFOHEADER:模板中显示大小为28h,即40dec。第一个属性biSize的值也是该部分大小40dec。biWidth、biHeight为图像宽、高(512*512像素)。biPlanes固定为1。biBitCount值是每个像素的位数:1-黑白图,4-16色,8-256色,24-真彩色。biSizeImage值为图片全部像素占用的字节数786432。                                                                                                                                        

计算图片正确大小:除去必要的文件头,剩余16进制字符均表示像素块,文件尾可能会windows自动补0(那就除去最后两字节的00 00)。图像位深度为24,转为2进制为0001 1000,所以单个颜色值要用2个16进制数值表示(因为计算机一字节为基本单位?)。表示一个像素块用R\G\B三个值,则一个像素点在文件中占6个16进制字符。第二个文件头信息中biSizeImage(786432)即图片大小。786432=512(宽)*512(高)*3(每个像素点占3字节=6个16进制位)。

像素点排列方式:(不知道为啥手动去试了试)

 除去文件头,第一个像素点的RGB值为R:9E  G:51  B:37。图片中取色后发现是左下角的像素点。试过多个点发现排列方式为(例如3*3图片,数字是排列顺序)

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值