位图都是有压缩格式的吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位图都是有压缩格式的吗?相关的知识,希望对你有一定的参考价值。

想要修改位图的RGB必须要分析位图的压缩格式吗?
我用把它打开成2进制文件进行修改,请给我详细点的回答好吗?

bitmap都是无压缩的。
用UltraEdit打开一个Bitmap文件,选择Hex方式查看:

A>. 前面的14个字节是头,前面10字节可以直接抄过来,不用变,但后面4个字节是描述图像内容的起始地址.
B>. 然后第15,16,17,18字节是Info段的长度,这段一般是40字节长,19,20,21,22是长,23,24,25,26是高,后面的是描述是否压缩啊什么的记不大清楚了.
C>. 如果是24bit图,每个点保存RGB共三个字节,32bit多一个alpha共4个字节.
如果保存8bit图,则在Info段后跟色表,注意A>里面的图像起始数据Address要后移
a>. 色表格式:BGRA0,BGRA1....BGRA255填充,每种颜色4个字节;
b>. 图像存储使用index,比如字节0代表色表内的BGRA0;
D>. 4Bit/2Bit色格式和C类似,不过每种颜色占4/2Bit;

另外:
对齐:在32bit系统内按照32bit对齐,每行数据不足4字节,补0x00;
压缩:bitmap一般很少压缩,压缩一般使用的runlength;

查查这方面的资料,网上不少.

参考资料:http://topic.csdn.net/t/20060408/16/4672522.html

参考技术A 不需要

16bitmap位图的压缩方式及处理

在这里先对bmp file format 格式进行简单的叙述:

BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。

下面以Notepad++为分析工具,结合Windows的位图数据结构对BMP文件格式进行一个深度的剖析。

BMP文件的数据按照从文件头开始的先后顺序分为四个部分:

Ø         bmp文件头(bmp file header)提供文件的格式、大小等信息。

Ø         位图信息头(bitmap information)提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息。

Ø         调色板(color palette)可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表。

Ø         位图数据(bitmap data)就是图像数据

下面结合Windows结构体的定义,通过一个表来分析这四个部分。


用UE打一个bmp位图:


以上是关于位图都是有压缩格式的吗?的主要内容,如果未能解决你的问题,请参考以下文章

转libjpeg实现内存位图的压缩及解压缩-显示格式有问题

16bitmap位图的压缩方式及处理

flash 导出的文件格式是啥?

怎么转换png格式并且压缩图片

将图像放入页面

BMP文件的编码方式?