[转]BMP文件格式详解(BMP file format)
来源:互联网 发布:linux cpu 内存 查看 编辑:程序博客网 时间:2024/05/21 10:29
BMP文件的数据按照从文件头开始的先后顺序分为四个部分:
Ø bmp文件头(bmp file header):提供文件的格式、大小等信息
Ø 位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息
Ø 调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表
Ø 位图数据(bitmap data):就是图像数据啦^_^
三、调色板下面的数据就是调色板了。前面也已经提过,调色板其实是一张映射表,标识颜色索引号与其代表的颜色的对应关系。它在文件中的布局就像一个二维数组palette[N][4],其中N表示总的颜色索引数,每行的四个元素分别表示该索引对应的B、G、R和Alpha的值,每个分量占一个字节。如不设透明通道时,Alpha为0。因为前面知道,本图有256个颜色索引,因此N = 256。
一共有256种颜色,每个颜色占用4个字节,就是一共1024个字节,再加上前面的文件信息头和位图信息头的54个字节加起来一共是1078个字节。也就是说在位图数据出现之前一共有1078个字节,与我们在文件信息头得到的信息:文件头到文图数据区的偏移为1078个字节一致!
四、位图数据
下面就是位图数据了,每个像素占一个字节
参考:BMP文件格式详解(BMP file format)
Bits Per Pixel 1 word 每个象素的位数
1 - 单色位图(实际上可有两种颜色,缺省情况下是黑色和白色。你可以自己定义这两种颜色)
4 - 16 色位图
8 - 256 色位图
16 - 16bit 高彩色位图
24 - 24bit 真彩色位图
32 - 32bit 增强型真彩色位图
256色模式: 共8 bits (B: 2 bits; G: 3 bits; R: 3 bits)。
High color:共16 bits (B: 5 bits, G: 6 bits, R: 5 bits)。
True color:一般24bit就是8bit/通道,真彩色。
windows下的32位是R、G、B三个通道各占8位共24位,加上明度通道8位,所以是32位,24位也就是R、G、B三个通道各占6位共18位,加上明度通道6位,所以是24位。
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format)
- BMP文件格式详解(BMP file format) (转)
- (转)BMP文件格式详解(BMP file format)[图文解说]
- (转)BMP文件格式详解(BMP file format)[图文解说]
- (转)BMP文件格式详解(BMP file format)[图文解说]
- ASP.NET——C#文件夹创建与文件存在判断
- POI操作Excel常用方法总结
- 图片服务器的架构演进
- Struts Series(6) - 拦截器
- 通讯行业各职位面试题和笔试题
- [转]BMP文件格式详解(BMP file format)
- Java系列(八)__Java面向对象(3)
- 我对c#委托的浅见 使用情景- 两个窗体间的调用操作
- leetcode No10. Regular Expression Matching
- 第十二周:C语言:宏定义
- pf_ring
- java开发规范
- C++头文件循环包含依赖
- Java系列(十)__Java面向对象(4)