地图编号C 语言编程,Bitmap 位图文件 编码/解码 --C语言实现

仅以 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

fcb07b86d1432e37fe366ef361e26df5.png

out.bmp

6ab60d5953c5c5d775482cc80c57ee8e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值