仅以 24为真彩色Window Bitmap 文件格式为参考,不支持 OS/2格式的位图文件
大部分24位图文件包含54个字节的文件头信息,且大部分字段相同,不同的地方只有 三个字段共12个字节
offset 从文件头开始的偏移量,hex(十六进制), dec(十进制)
Offset hex
Offset dec
Size(字段长度)
Purpose(用途)
0x02
2
4 bytes
文件的总字节数
0x12
18
4 bytes
图像的宽度(Width)
0x16
22
4 bytes
图像的高度(Height)
Bitmap文件采用小端字节序的方式存储头部信息,也就是说,如果读取到的宽度是 00 00 01 00 四个连续的字节,那么实际的宽带是 00 01 00 00 = 0x00010000
数据部分按照从左到右,从下到上的顺序排列,详情请参考:
BmpDecoder.h 位图文件解码部分
直接调用OpenImage打开文件,读取位图数据,返回结果是按照 BGR的顺序存放的
BmpEncoder.h 文图文件编码部分
直接调用Encoder将 BGR顺序的位图数据编码为Bitmap格式的数据流
调用Write函数保存文件数据
main.cpp 运行示例
g++ main.cpp -o main
main demo.bmp out.bmp
demo.bmp
out.bmp