Exif Orientation 的含义:1〜8 的值与照片横倒的原因
用手机竖着拍的照片,一放到电脑或博客上就横倒了;删掉 Exif 后照片也躺下了。这些现象几乎都源于 Exif 中一个叫“Orientation(方向)”的项目。本文说明 Orientation 的 1〜8 各代表什么、照片为什么是横着保存的、横倒显示时的改法,以及删除 Exif 时只保留方向的方法。
照片常常是“横着”保存的
相机的传感器是横长的。即使竖着拿手机拍,传感器读出的图像数据仍以横长的状态,也就是转了 90 度的状态写入文件。然后在 Exif 里附上一条指令:“显示时请顺时针转 90 度”。这就是 Orientation(方向)。
如果真的把图像数据转过来再保存,JPEG 就要重新压缩,既费时间,画质也会略有下降。只写一条指令则瞬间完成,画质不变。相机和手机采用这种方式就是这个原因。
Orientation 值 1〜8 的含义
Orientation 是 1〜8 的整数,表示“显示时如何旋转、翻转所保存的数据”。平时见到的是 1、3、6、8 这四个;2、4、5、7 包含左右或上下翻转,只在自拍镜像设置、扫描仪等有限场合出现。
| 值 | 显示时的处理 | 常见场合 |
|---|---|---|
| 1 | 原样(不旋转) | 横着拿拍的照片、截图 |
| 2 | 左右翻转后显示 | 设置为镜像保存的自拍 |
| 3 | 旋转 180 度后显示 | 上下颠倒着拿拍的照片 |
| 4 | 上下翻转后显示 | 几乎见不到 |
| 5 | 左右翻转后逆时针转 90 度显示 | 几乎见不到 |
| 6 | 顺时针转 90 度后显示 | 竖着拿手机拍的照片(最多) |
| 7 | 左右翻转后顺时针转 90 度显示 | 几乎见不到 |
| 8 | 逆时针转 90 度后显示 | 同样竖拍,但与 6 拿法相反 |
6 和 8 都是竖幅照片,但拿法相差 180 度。竖着拿手机时,镜头在上方还是下方,记录下来的数据方向就会相反。同一个人拍的竖幅照片里 6 和 8 混在一起,并不少见。
删除 Exif 后照片横倒的原因
为了删除位置信息而使用“删除全部 Exif”的工具,Orientation 也会一起被删掉。于是“旋转后显示”的指令没了,原本 Orientation = 6 的竖幅照片,横长的数据会原样显示,变成向左倒 90 度的样子。
防止的方法有两种。一种是只保留 Orientation,删除其余的 Exif。照片 Exif·位置信息检查器的“全部删除”默认只把方向信息重新写回去,所以删除后竖幅照片仍然竖着显示。另一种是先旋转图像数据本身再保存,把 Orientation 设为 1。这种方法要重新压缩 JPEG,画质会略有下降。
| 删除方式 | 方向 | 画质 |
|---|---|---|
| 删除全部 Exif | 竖幅照片可能横倒 | 不变 |
| 只保留 Orientation 后删除 | 不变 | 不变 |
| 旋转图像重新绘制,Orientation 设为 1 | 不变 | JPEG 因重新压缩略有下降 |
| 用图片转换工具重新导出 | 浏览器会先旋转再绘制,所以大多不变 | JPEG 因重新压缩略有下降 |
想在不降低画质的前提下只去掉位置信息,思路请参阅无损删除 Exif 的方法。
横倒显示的照片怎么改
- 1
先确认 Orientation 的值
把照片放进照片 Exif·位置信息检查器,用“查看所有项目”查看方向(Orientation)的值。如果是 6 或 8,原因是软件没有读取这条指令。如果是 1 却仍然横倒,就是拍摄时的方向判断本身出了偏差。
- 2
改成显示端能读懂的形式
博客或 CMS 忽略方向时,在相册应用中旋转一次再保存,或者用会旋转后再导出图像的工具处理,数据本身就是正确方向,在任何软件中显示都一样。
- 3
确认没有被转两次
数据已经转过来,但 Orientation 仍然是 6 的话,读取 Orientation 的软件会再转 90 度,这次又朝反方向倒。原则上,旋转数据之后要把 Orientation 设为 1。
PNG 和 HEIC 的方向如何决定
- JPEG:由 Exif(APP1)中的 Orientation 决定。这是最常见的形式。
- PNG:原本没有方向信息,后来可以在 eXIf 区块中放入 Exif,若其中有 Orientation,有些软件会读取。截图的 PNG 通常没有。
- WebP:可以在 EXIF 区块中放入 Exif。由 JPEG 转换来的 WebP,有的继承了 Orientation,有的没有。
- HEIC(iPhone):方向由 HEIC 本身的旋转信息决定,与 Exif 无关。所以删除 HEIC 的 Exif,显示方向也不会变。
由于各格式保存方向的方式不同,可能出现 HEIC 一转成 JPEG 方向就不对的情况。转换步骤和注意事项请参阅HEIC 转 JPEG 的方法。
常见问题
- Exif 的 Orientation 6 是什么意思?
- 意思是“把保存的图像顺时针转 90 度后显示”。这是竖着拿手机拍的照片中最常见的值,数据本身是横长保存的。用不读 Orientation 的软件打开,照片看起来会向左倒。
- Orientation 8 和 6 有什么区别?
- 旋转方向相反。6 是顺时针转 90 度,8 是逆时针转 90 度后显示。两者都是竖幅照片,但拍摄时手机拿法相差 180 度,记录的值就会互换。
- 删除 Exif 后照片变成横的,为什么?
- 因为显示时用来旋转的指令(Orientation)也被删掉了。数据仍是横长的,指令没了就会横倒显示。请只保留 Orientation 再删除,或者把图像旋转后重新保存。
- 上传到博客后照片自己转了方向,为什么?
- 要么上传处理丢弃了 Exif,Orientation 指令丢失了;要么显示端的软件不读取 Orientation。上传前在相册应用中旋转后重新保存,让数据本身就是正确方向,放到哪里方向都一致。
本文介绍的工具
相关文章
裁剪前的照片还在?Exif 内嵌缩略图的检查与删除方法
把照片边缘拍到的地址裁掉了,用贴纸把脸挡住了,放心地发了出去,结果却从照片里找到了本该裁掉的部分。原因是照片文件里存着的一张小图,也就是 Exif 的内嵌缩略图。本文说明缩略图是什么、为什么会留下编辑前的画面、如何判断是否还留着,以及只删除缩略图的方法。
阅读文章 →能从照片看出相机的序列号吗?Exif 的检查与删除方法
很少有人知道,发在博客或社交平台上的照片可以读出所用相机的序列号。单反和无反相机拍的照片,Exif 中可能记录着机身和镜头的序列号。本文说明序列号会写在哪些项目里、被读到会发生什么、手机照片的情况,以及检查和删除的步骤。
阅读文章 →无损删除 Exif 的方法:不重新压缩的删除与只删位置信息
搜索照片位置信息的删除方法,常会看到“用图片转换工具重新导出”“重新截图”之类的办法。这样确实能删掉 Exif,但 JPEG 会被重新压缩,画质会略有下降。本文说明不动图像数据、只去掉 Exif 的原理,只删位置信息而保留拍摄时间的方法,批量删除的步骤,以及删除后的确认方法。
阅读文章 →