图像尺寸是图片的宽和高,以像素计数。在元数据报告中,Image Size 字段会把这两个数一起显示,例如 1024x981。第一个数字是图像宽度(image width),第二个数字是图像高度(image height)。
图像尺寸和文件大小(file size)不同。图像尺寸统计的是图片中的像素数量,文件大小统计的是文件中的字节数。
哪些文件携带它
图像格式会保存图片的宽和高,每种格式都有自己的存储位置。JPEG 文件会把它们保存在 Start Of Frame 段中。
PNG 文件会把宽和高保存在第一个数据块中,这个数据块叫 IHDR。GIF 和 WebP 文件会把这两个数字保存在文件开头附近。
视频也有图像尺寸。在 MP4 和 MOV 文件中,轨道头会保存视频轨道的宽度和高度。ffprobe 程序也会为每个视频流报告一个宽度和一个高度。
数值的来源
Image Size 通常不是文件内部的一个字段。元数据读取程序 ExifTool 会在读取完所有其他元数据后计算 Image Size。ExifTool 一般会读取 Image Width 和 Image Height 字段,并把它们合并成一个值。对于佳能 CR2 RAW 文件,它会改用 Exif Image Width 和 Exif Image Height 字段。
来自相机的照片也可以包含表示尺寸的 EXIF 字段。Exif 标准把未压缩图像的这两个字段称为 ImageWidth(0x0100)和 ImageLength(0x0101)。
对于 JPEG 等压缩图像,标准使用 PixelXDimension(0xA002)和 PixelYDimension(0xA003)字段。ExifTool 会将 PixelXDimension 和 PixelYDimension 显示为 Exif Image Width 和 Exif Image Height。
该数值的格式
Image Size 显示两个整数,中间用小写字母 x 连接,宽度总是排在前面。在 ExifTool 的原始值中,这两个数字之间用空格分隔,例如 1024 981。
值 1024x981 表示这张图片具有以下特征:
- 图像宽度是 1024 像素。
- 图像高度是 981 像素。
- 图片包含 1024 乘以 981 个像素,总共 1,004,544 个像素。
- 这大约是 1.0 百万像素,因为 1 兆像素等于 1,000,000 像素。
为什么宽度和高度看起来会被对调
图片可以以一个方向存储、以另一个方向显示。Exif 的Orientation 字段会告诉查看程序,在显示图片前要如何旋转存储的图像。
当 Orientation 为 5、6、7 或 8 时,存储图片的行会在屏幕上变成列。你看到的宽度就是存储时的高度,你看到的高度就是存储时的宽度。Image Size 报告的是存储时的数值,所以你看到是竖直方向的照片,尺寸可能显示为横向。
它的重要性
图像尺寸可以告诉你有多少像素可以使用。用于打印时,X Resolution 字段表示每英寸或每厘米的像素数量。用像素宽度除以这个数字,就能得到以该单位表示的打印宽度。
例如,一张宽度为 1024 像素的图片,以每英寸 300 像素打印时,宽度大约是 3.4 英寸,约等于 8.7 厘米。
图像尺寸在网站中也很重要。当网页为图片提供宽度和高度时,浏览器可以在图片加载前预留空间,这样图片出现时页面的移动会更少,甚至不会移动。
图像尺寸并不是决定文件大小的唯一因素。压缩方式也会决定每个像素使用多少位,而 Exif 字段 CompressedBitsPerPixel 会以每像素位数记录这种压缩模式。所以,两张图像尺寸相同的图片,如果使用的压缩方式不同,文件大小也可能不同。