微软windows Bitmap文件概述
来源:互联网 发布:淘宝袖剑安装图纸 编辑:程序博客网 时间:2024/04/29 21:55
概述
Windows Bitmap File也可以称为BMP,DIB,Windows BMP, Windows DIB,或兼容性BMP.
类型Bitmap色深,一个像素用多少位表示1-, 4-, 8-, 16-, 24-, and 32-bits压缩方式RLE, 无压缩最大图像数据大小32Kx32K 或2Gx2G pixels每个文件支持多张图片否数值格式Little-endian发起人Microsoft Corporation支持平台Intel machines running Microsoft Windows, Windows NT, Windows 95, OS/2, and MS-DOS支持的应用程序太多了,不胜枚举另请参阅OS/2 Bitmap文件结构
Windows 1.x 的DDB文件格式有两部分组成:文件头和Bitmap数据,没有调色板和其它特征信息。
文件头
Bitmap数据
Windows 2.x, 3.x, and 4.x BMP 文件包含四部分:文件头信息头、调色板和Bitmap数据。这四部分只有调色板是可选的,根据色深的位数而定,其它三部分每个BMP文件都必不可少的。文件头
信息头
调色板
Bitmap数据
图像数据和压缩
无压缩的图像数据是由一系列8位指向调色板的索引或真实的颜色值表示的。
Windows BMP文件格式对4位和8位色深的图片支持简单的行程长度编码RLE(run-length encoded),但对1、16、24、32bit色深的图片不能使用该压缩方式。
BMP采取两个值的RLE方案,第一个值是存放重复的次数,第二个值存放实际的值,重复次数不大于256;如果有大于256个完全相同的像素,则超过部分要用两个字节表示。这只是简单的描述,事实上更复杂,还有连续不重复的数据。RLE有两种编码方式,分别是RLE4和RLE8,分别对应4位和8位色深的图像,下面将详细讲解。
8位的RLE(RLE8)采取存储重复像素,第一个字节是0-255之间,表示重复的次数,第二个字节是一个真8位的实的颜色值,例如编码05 18将会解压成5个重复的像素值18即:18 18 18 18 18.对于RLE也类似,就是表示的位数不同。具体的压缩方式见如下表:
标识
00 00 一行的结尾00 01 文件的结尾00 02 XX YY 位置偏移标记,偏移YY行XX个像素00 tt 后面的tt位量真实的像素值
RLE8
压缩编码
解码描述
解码
04 16
4个字节的 16
16 16 16 16
08 45
8个字节的 45
45 45 45 45 45 45 45 45
00 00
一行的结尾
无
00 02 04 02
向上偏移2行加4个像素
无
03 E4
3个字节的 E4
E4 E4 E4
00 03 12 A4 46 00
后面3位有效的未压缩像素数据
12 A4 46
00 00
一行的结尾
无
00 01
文件的结尾
无
RLE4
压缩编码
解码描述
解码
04 16
4个交替的 1 、6值
1 6 1 6
08 44
8个交替的 1 、8值
4 4 4 4 4 4 4 4
00 00
一行的结尾
无
00 02 04 02
向上偏移2行加4个像素值
无
03 E4
3个交替的 1 、6值
E 4 E
00 06 12 A4 46 00
后面6位有效的未压缩像素数据
1 2 A 4 4 6
00 00
一行的结尾
无
00 01
文件的结尾
无
以下是一些Windows BMP文件数据类型的概述:
像素色深
一个像素的大小
压缩方式
调色板
颜色透明度
1 bit
1 bit
0
有
无
4 bits
4 bits
0 , 2
有
无
8 bits
1 byte
0 , 1
有
无
16 bits
4 bytes
3
无
有
24 bits
3 bytes
0
无
无
32 bits
4 bytes
3
无
有
注:压缩方式0表示不压缩,1表示RLE8,2表示RLE4
- 微软windows Bitmap文件概述
- Windows bitmap文件解析
- WPF Windows 概述(微软官方)
- 微软授权方式连载四:Windows 8激活方式概述
- 微软BI解决方案概述
- windows 概述
- [Windows编程] 微软公开Office 文件(doc, xls, ppt) 格式
- [Windows编程] 微软公开Office 文件(doc, xls, ppt) 格式
- Windows 8 微软官方MSDN版 的文件校验信息
- Windows SDK SignTool.exe 微软文件签名工具的使用
- 《Windows程序设计》之BITMAP
- windows gdi - 保存bitmap
- 微软.NET 3.0框架概述
- 微软数据访问接口概述
- Bitmap文件结构探讨
- 存储BITMAP到文件
- Bitmap转为文件保存
- 布局文件转bitmap
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- maven依赖关系中Scope的作用
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- MSSql Server 游标学习
- poj 3368 Frequent values
- 微软windows Bitmap文件概述
- 给年轻程序员的建议
- 专注于网络设备搜索的引擎 Shodan
- Maven最佳实践:划分模块
- uksort函数使用
- Oracle Workflow_流程挂职责说明
- 23个MySQL常用查询语句
- 高级搜索题集(夏天的风分类)
- 在 Android 中调用二进制可执行程序(native executable )