需要做图片旋转的真正原因
大多数时候画面其实并没有躺着。它只是在某些应用里看着是躺着的、在另一些里又是正的,原因是 EXIF 方向标记。
你把手机横过来拍时,相机并不会把画面转过来。它按传感器读到的方向写入像素,然后往文件里加一个小 标记,说"显示时请转 90 度"。照片应用、浏览器和操作系统会读这个标记,把画面摆正。而老一些的软件、 一部分上传表单、很多印刷流程、以及一大堆 CMS 的缩略图生成器完全无视它——你的照片就是在这些地方 突然倒下去的。
在这里旋转能一次性解决,因为它搬动的是真正的像素。输出的文件不需要任何方向标记就是正的,所有软件 的理解都一致。
图片旋转 90 度一档,以及为什么只做直角
旋转选项是顺时针 90、180、270 度。没有任意角度,这是刻意划的界,不是没做完。
四分之一圈会把每个像素映射到另一个完整的像素位置上,所以结果是精确的,画幅只是宽高互换。7 度这 样的角度两样都做不到:像素落在位置之间,必须插值,画面会变软;而且转过的矩形装不进自己的外框, 四个角会空出三角形。处理这些空白就意味着要在"往画面里裁"和"填点什么"之间做选择,那是一个需要 专门控件的真实决定。
歪了地平线要校正,那是另一个工具。而只是躺着的照片,用这个就是精确的。
逆时针
这里没有单独的逆时针选项,因为顺时针 270 度就是同一件事。向左转四分之一圈等于向右转四分之三圈, 现有的选项已经覆盖了两个方向。
批量与格式
一套设置对整批生效,这也正是常见情况:同一次拍摄导出的一整个文件夹,通常都朝同一个方向歪。每个 文件保留自己的格式,例外是 canvas 写不出来的源格式(AVIF、GIF、SVG),它们会输出成 PNG。
文件在这个标签页里解码和重新编码,不上传。