Windows位图(windows上位图是little endian)由四部分组成:
A.1,位图文件头部
A.2,位图信息头部
A.3,颜色表
A.4,位图的内容(位图由大量的bit组成)
下表来自HackJava,它描述了A1的结构
# of Bytes | Type | Description |
2 | Character | 文件类型,通常是BM开头 |
4 | 32-bit Int | 文件大小,单位byte |
2 | 16-bit Int | 保留 |
2 | 16-bit Int | 保留 |
4 | 32-bit Int | 位图内容(A.4)开始的字节偏移 |
A.2部分的结构如下
# of Bytes | Type | Description |
4 | 32-bit Int | 信息头的大小(字节数) |
4 | 32-bit Int | 位图的宽度(如1024像素) |
4 | 32-bit Int | 位图的高度(如768像素) |
2 | 16-bit Int | Number of bitplanes (should be 1) |
2 | 16-bit Int | 用多少个位去描述一个像素(1, 4, 8, or 24) |
4 | 32-bit Int | 使用的压缩类型 |
4 | 32-bit Int | 如果使用了压缩,需要指定位图的实际大小 |
4 | 32-bit Int | 每米的水平像素的数量(用于放大缩小) |
4 | 32-bit Int | 每米的垂直像素的数量(用于放大缩小) |
4 | 32-bit Int | 实际用到的颜色数量 |
4 | 32-bit Int | 较重要颜色的数量(用于减少颜色数) |