不知道第几次看这个了,今天再次看的时候 发现又回到了晕晕乎乎的感觉
用PS新建了10*10像素的24位bmp图片,用UE打开仔细瞧瞧
-------------------------------------------------------------以下文件头
42 4D BM一直不变
78 01 00 00 图片大小
00 00 保留为0
00 00 保留为0
36 00 00 00 偏移 非索引图是54 、索引图不固定
位图文件头 共14个字节(从0计数)
WORD bfType(第0、1字节):
42 4d代表BM(42-B,4d-M)
存储顺序是424d,用双字节单位读取的时候,先读取42放在低字节,再读取4d放在高字节,程序中应该判断双字节单元中存储的是否是0x4d42
if(header.bfType == 0x4d42) {}
DWORD bfSize(第2、3、4、5字节):
78 01 00 00 即0x178(十进制376)字节,右键属性中显示的整个图片文件的大小
WORD bfReserved1(第6、7字节):
00 00 保留字节 为0
WORD bfReserved2(第8、9字节):
00 00 保留字节 为0
DWORD bfOffBits(第10、11、12、13字节):
36 00 00 00 即0x36(十进制54),位图数据的起始位置是第54字节
(24位图,位图文件头(BITMAPFILEHEADER14字节)和位图信息头(BITMAPINFOHEADER40字节)之后就是位图数据,没有调色板)
-----------------------------------------------------------以下信息头
28 00 00 00 一直不变
0A 00 00 00 宽
0A 00 00 00 长
01 00 一直不变
18 00 多少位图
00 00 00 00 无压缩 一直不变
42 01 00 00 像素数据大小
20 2E 00 00 水平分辨率
20 2E 00 00 垂直分辨率
00 00 00 00 后两个双字用在索引图
00 00 00 00
位图信息头,共40个字节
DWORD biSize(第14、15、16、17字节)
28 00 00 00 即0x28(十进制40)