图像高度是图片中从上边缘到下边缘的像素行数。和图像宽度一起,它表示图片的像素尺寸。
图像高度与文件大小不同。文件大小统计的是文件中的字节数,而高度统计的是像素数。
哪些文件携带它
几乎所有图像格式都会在文件头中与宽度一起保存高度。每种格式都有自己的存储位置。
- JPEG:帧起始(SOF)段中保存图片的行数。
- PNG:必须是文件中第一个数据块的 IHDR 块,将高度保存为一个 4 字节的整数。
- GIF:逻辑屏幕描述符保存的是绘制所有图像帧的区域高度。
- WebP:根据 WebP 文件类型不同,高度保存在 VP8、VP8L 或 VP8X 数据块中。
- BMP:位图头在宽度之后紧接着保存高度。
- TIFF:第一个图像目录(IFD0)中的标签
0x0101保存高度。Exif 标准将此标签称为ImageLength。 - MP4 和 MOV:每个视频轨道的头中都会保存一个图像高度。AVI 在其主头中保存一个高度值。
该数值的格式
这个值是一个像素的整数,不带单位。比如,682 表示图片的高度为 682 像素。
每种格式都有自己的上限。JPEG 最多可以声明 65535 行。无损 WebP 图像高度最多为 16384 像素,PNG 则最多约为 21 亿像素。
许多照片还会显示一行名为 Exif Image Height。相机或软件会把标签 0xa003 写入 JPEG 等压缩文件中。它记录图像的有效高度,在 JPEG 中应与帧头中的行数相匹配。
一张竖版照片的存储高度可能小于宽度。此时,方向标签会是类似 6 的值,告诉查看器将图片顺时针旋转 90 度。旋转后,你在屏幕上看到的高度就等于存储的宽度。
数值的来源
创建图像的设备或程序会写入高度。相机或手机在保存照片时写入它。你在裁剪、缩放或导出图片时,图像编辑器会写入一个新高度值。
高度描述的是像素本身。有些程序可以只修改 Exif Image Height 数值而不改变任何像素,但图片尺寸保持不变。要真正改变图像高度,你需要缩放或裁剪图片,软件随后会写入新的高度值。
这对你的文件有何影响
高度和宽度共同决定图片能包含多少细节。图像尺寸一行组合了这两个值,而“百万像素”一行则由图像尺寸计算得出。
在打印时,高度会与Y 分辨率一起起作用。这个值表示高度方向上每英寸或每厘米的像素数。用图像高度除以 Y 分辨率,就可以得到同一单位下的打印高度。
网站、上传表单和打印服务常常会要求以像素为单位的最小或最大高度。“图像高度”一行可以让你在发送前检查图片是否符合这些要求。
视频文件也为每个视频流保存 Height 和 Coded Height 值。Height条目介绍的是通用的高度值。