背景颜色是图像文件为图片后面的区域建议使用的一种颜色。查看器可以用它来填充图像周围的空白区域和图像的透明部分。这种颜色只是一个建议,程序可以选择不使用它。
哪些文件携带它
背景颜色可能出现在 3 种常见图像格式中:
- PNG 文件会把背景颜色存储在文件中一个可选部分内,这个部分叫做
bKGD块。 - GIF 文件会把背景颜色存储在逻辑屏幕描述符中,这是每个 GIF 文件都必须包含的头部。
- 动画 WebP 文件会把背景颜色存储在
ANIM块中。
一些不太常见的格式(例如 MNG 动画)也有这个字段。由于 GIF 头部是必需的,所以每个 GIF 文件都有一个背景颜色值,即使实际上没有任何地方使用它。
该数值的格式
在元数据报告中,背景颜色是一小行数字。你看到的数字个数取决于格式和图像类型:
- GIF 文件只显示一个数字:它表示文件颜色表中的位置,也叫调色板。
- 带调色板的 PNG 文件也只显示一个数字:表示在该调色板中的位置。
- 灰度 PNG 文件显示一个数字:灰度级,其中
0表示黑色。 - 彩色 PNG 文件显示 3 个数字:按顺序表示红、绿、蓝。
- 动画 WebP 文件显示 4 个数字:按顺序表示蓝、绿、红和 alpha。Alpha 表示颜色的不透明程度,从
0(完全透明)到255(完全不透明)。
对于灰度和彩色 PNG 文件,数值范围取决于图像的位深度。在 8 位图像中,每个数字的范围是 0 到 255。在 16 位图像中,最大值为 65535。
这些数字如何变成一种颜色
RGB 三元组是由 3 个数字组成的集合,分别表示红光、绿光和蓝光。每个数字表示混合中包含多少这种光。例如,在一张 8 位彩色 PNG 文件中,数值 83 57 124 表示一种深紫色。
网页和图形程序可以把同一种颜色写成十六进制代码。在 8 位图像中,这 3 个数字中的每一个都会变成一对 00 到 FF 的字符,对应 0 到 255。所以 83 57 124 会变成 #53397C。
16 位彩色 PNG 文件还需要多一步。每个数值都必须先缩放到 0 到 255 的范围内。
在 GIF 文件或带调色板的 PNG 文件中,单个数字本身并不是一种颜色。这个数字指向调色板中的一个条目,而该条目中才保存了红、绿、蓝的数值。
数值的来源
在 PNG 文件中,由保存图像的程序来决定是否写入背景颜色。GIF 和动画 WebP 文件始终都有这个字段,所以程序只需要选择字段的值。
例如,GIMP 在导出 PNG 文件时提供“保存背景颜色”选项。GIMP 会把工具箱中当前选中的背景颜色写入文件。
它的重要性
存储的颜色通常没有可见效果。PNG 规范要求查看器在有更合适的背景时忽略背景颜色。浏览器中图片周围的网页背景就是一个例子。
在动画中,这个字段可能更重要。GIF 和 WebP 都允许某一帧在显示之后把自己的区域恢复为背景颜色。
这个字段只包含一种颜色。不包含任何个人信息,也不会透露相机或地点的相关内容。