位图类型

位图是位数组,用于指定矩形像素数组中每个像素的颜色。 专用于单个像素的位数决定了可分配给该像素的颜色数。 例如,如果每个像素由 4 位表示,则可以为给定像素分配 16 种不同颜色之一(2^4 = 16)。 下表显示了可以分配给像素(由给定位数表示)的颜色数量的几个示例。

每像素位数 可分配给像素的颜色数
1 2^1 = 2
2 2^2 = 4
4 2^4 = 16
8 2^8 = 256
16 2^16 = 65,536
24 2^24 = 16,777,216

存储位图的磁盘文件通常包含一个或多个信息块,用于存储每个像素的位数、每行中的像素数和数组中的行数。 此类文件还可能包含颜色表(有时称为调色板)。 颜色表将位图中的数字映射到特定颜色。 下图显示了放大的图像及其位图和颜色表。 每个像素由 4 位数字表示,因此颜色表中有 2^4 = 16 种颜色。 表中的每一种颜色都以 24 位数字表示:8 位表示红色,8 位表示绿色,8 位表示蓝色。 数字以十六进制(base 16)形式显示:A = 10,B = 11,C = 12,D = 13,E = 14,F = 15。

放大图像及其位图和颜色表的屏幕截图。

查看图像第 3 行第 5 列中的像素。 位图中的相应数字为 1。 颜色表告诉我们,1 表示红色,以便像素为红色。 位图顶部行中的所有条目均为 3。 颜色表告诉我们 3 表示蓝色,因此图像顶部行中的所有像素均为蓝色。

说明

某些位图以自下而上格式存储;位图第一行中的数字对应于图像底部行中的像素。

将索引存储到颜色表中的位图称为调色板索引位图。 某些位图不需要颜色表。 例如,如果位图每像素使用 24 位,则该位图可以存储颜色本身,而不是将索引存储到颜色表中。 下图显示了一个位图,该位图直接存储颜色(每个像素 24 位),而不是使用颜色表。 此图还显示了相应图像的放大视图。 在位图中,FFFFFF 表示白色,FF0000 表示红色,00FF00 表示绿色,0000FF 表示蓝色。

位图的屏幕截图,该位图使用相应图像的放大视图直接存储颜色。

图形文件格式

在磁盘文件中保存位图有许多标准格式。 GDI+ 支持以下段落中所述的图形文件格式。

BMP

BMP 是 Windows 用于存储与设备无关和应用程序无关映像的标准格式。 给定 BMP 文件的每个像素(1、4、8、15、24、32 或 64)的位数在文件头中指定。 每个像素 24 位的 BMP 文件很常见。 BMP 文件通常未压缩,因此不适合通过 Internet 传输。

图形交换格式 (GIF)

GIF 是网页中显示的图像的常见格式。 GIF 适用于线条图、具有纯色块的图片,以及颜色之间具有锐利边界的图片。 GIF 已压缩,但压缩过程中不会丢失任何信息;解压缩的图像与原始图像完全相同。 GIF 中的一种颜色可以指定为透明,以便图像具有显示该图像的任何网页的背景色。 GIF 图像序列可以存储在单个文件中,以形成动画 GIF。 GIF 存储每个像素最多 8 位,因此它们限制为 256 种颜色。

联合摄影专家组(JPEG)

JPEG 是一种适用于自然场景(如扫描照片)的压缩方案。 一些信息在压缩过程中丢失,但通常损失对人眼是无法察觉的。 JPEG 存储每个像素 24 位,因此它们能够显示超过 1600 万种颜色。 JPEG 不支持透明度或动画。

JPEG 图像中的压缩级别是可配置的,但更高的压缩级别(较小的文件)会导致更多的信息丢失。 20:1 压缩比通常产生人眼难以区分原始图像的图像。 下图显示了一个 BMP 图像和两个从该 BMP 映像压缩的 JPEG 映像。 第一个 JPEG 的压缩比率为 4:1,第二个 JPEG 的压缩比约为 8:1。

Filetype 示例

JPEG 压缩不适用于线条图、纯色块和锐利边界。 下图显示了 BMP 以及两个 JPEG 和一个 GIF。 JPEG 和 GIF 是从 BMP 压缩的。 对于 GIF,压缩比率为 4:1;对于较小的 JPEG,压缩比率为 4:1;对于较大的 JPEG,压缩比率为 8:3。 请注意,GIF 保持线条的清晰边界,而 JPEG 往往会模糊边界。

文件类型

JPEG 是压缩方案,而不是文件格式。 JPEG 文件交换格式(JFIF)是一种文件格式,通常用于存储和传输已根据 JPEG 方案压缩的图像。 Web 浏览器显示的 JFIF 文件使用 .jpg 扩展名。

可交换图像文件 (EXIF)

EXIF 是用于由数字相机捕获的照片的文件格式。 EXIF 文件包含根据 JPEG 规范压缩的图像。 EXIF 文件还包含有关照片的信息(拍摄日期、快门速度、曝光时间等)以及有关相机的信息(制造商、型号等)。

可移植网络图形 (PNG)

PNG 格式保留了 GIF 格式的许多优势,但也提供了超出 GIF 格式的功能。 与 GIF 文件一样,PNG 文件会压缩,不会丢失信息。 PNG 文件可以存储每像素 8 位、24 位或 48 位的颜色,以及每个像素 1、2、4、8 或 16 位的灰度。 相比之下,GIF 文件每个像素只能使用 1、2、4 或 8 位。 PNG 文件还可以为每个像素存储 alpha 值,该值指定该像素的颜色与背景色混合的程度。

PNG 在逐步显示图像方面比 GIF 更有优势(也就是说,可以在图像通过网络连接传输时,不断逼近最终的图像效果)。 PNG 文件可以包含伽玛更正和颜色更正信息,以便图像可以在各种显示设备上准确呈现。

标记图像文件格式 (TIFF)

TIFF 是各种平台和图像处理应用程序支持的灵活且可扩展的格式。 TIFF 文件可以存储每个像素的任意位数的图像,并且可以使用各种压缩算法。 多个图像可以存储在单个多页 TIFF 文件中。 与图像相关的信息(扫描程序制作、主计算机、压缩类型、方向、每个像素的样本等)可以存储在文件中,并通过标记进行排列。 批准和添加新标记后,可以根据需要扩展 TIFF 格式。

另请参阅