KarynaSakura 2024-07-26 07:41 采纳率: 41.7%
浏览 3

BMP图像使用GIMP保存会比使用Windows自带的画板保存位图信息头要多84字节?

比如一张24位位图
下面灰色部分是GIMP保存的图像比画板保存的图像多出来的字节

img

不影响读取,但是是做什么的?


我有关注到GIMP保存时有16(565),16(ABGR?),24(RGB?),32(ABGR?)和XBGR?格式选择。

当使用画板保存32位位图时会提示丢失透明度信息,而16位ABGR?不会

而且后者的图像数据与使用GIMP保存的24位位图图像数据大相径庭,并且有补0xFF;而前者没有。

16位位图的两种颜色格式使用画板都可以打开的说,但是我并没有(至少目前)查阅到相关的与颜色格式有关的信息。

所以颜色格式又是怎么被识别出来的呢,比如565和ABGR??(在没有调色板的情况下)


问号部分是因为我忘记是RGB还是BGR了

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-26 07:41
    关注

    引自免费微信小程序:皆我百晓生

    关于你的问题,首先需要理解BMP图像文件的基本结构。BMP文件包含文件头、信息头、颜色表(对于索引色图像)和像素数据。文件头的部分包含了图像的基本信息,如大小、宽度、高度等。

    关于GIMP保存的图像比Windows自带的画板多出的84字节,这可能与两者在保存时处理元数据的方式不同有关。GIMP可能包含了更多的元数据,如保存时的设置、图层信息等。

    关于颜色格式的问题,BMP可以保存多种位深度,如1位、8位、16位、24位和32位等。对于带有Alpha通道的图像(即带透明度的图像),通常会选择32位格式保存,因为它可以存储每个像素的RGB值和透明度信息。对于不带透明度的图像,可以选择其他格式,如24位RGB或16位(可能是565或ABGR格式)。关于ABGR格式,这里的ABGR可能指的是每个像素以A(Alpha)B(Blue)G(Green)R(Red)的顺序存储,但确切的格式取决于具体的软件和BMP的版本。颜色格式通常通过文件头中的信息来识别。

    至于Windows自带的画板在保存时提到的“丢失透明度信息”,可能是因为它不支持保存带有透明度的BMP格式,因此在保存时可能只保存RGB信息而忽略了透明度信息。而GIMP作为一个专业的图像处理软件,支持更多的图像格式和更复杂的元数据保存。在打开不同的BMP文件时,软件和操作系统会尝试解析文件头以确定其颜色格式。如果文件没有提供足够的信息来确定颜色格式,可能就会出现无法识别的情况。这也解释了为什么不同软件保存的BMP文件数据可能看起来不同。关于补码0xFF的问题,这可能与具体的软件处理方式和BMP的版本有关。在某些情况下,为了对齐数据或满足特定的格式要求,可能会在数据后添加填充字节。这些填充字节通常是特定的值,如0xFF0x00等。为了更深入地了解这些细节,可能需要查阅具体的软件文档或BMP的规范。希望这些信息对你有所帮助!如果有其他问题或需要进一步的解释,请随时告诉我!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月26日

悬赏问题

  • ¥15 100 内验证哥德巴赫巴赫猜想
  • ¥15 需要在vitis下实现彩调视频图像累加,并输出
  • ¥15 解决不了的LNK2019错误
  • ¥20 MATLAB仿真三相桥式全控整流电路
  • ¥15 EDA技术关于时序电路设计
  • ¥15 百度文心一言流式返回sse失败
  • ¥15 由于远程方已关闭传输流,身份验证失败
  • ¥15 rt-detr,PCB,目标检测
  • ¥15 有偿求指导实证代码。cfps清洗合并后,无论是构建平衡面板还是非平衡面板,都是只剩几百个样本量。求指导一下哪里出问题了,不要潦草回复
  • ¥15 mutlinichenet