自动旋转图像(并覆盖它们)以匹配方向

自动旋转图像(并覆盖它们)以匹配方向

我用三星手机拍了一张照片,然后:

  1. 在手机上显示时方向很好

  2. 在 Picasa 中显示时方向很好(这意味着 JPG 文件包含正确的方向元数据!)

在此处输入图片描述

  1. 方向是错误的在 Windows 7 资源管理器缩略图中显示时:

在此处输入图片描述

  1. 方向是错误的在 Windows 7 图像查看器中显示时:

在此处输入图片描述

一个解决方案可能是“忘记 Windows 7 的内置图像查看器”,并使用另一个更好的图像查看器,但我不想要这个

我想用新的良好方向永久重写 JPG 文件(并覆盖它们),批量处理数百个 JPG 文件,例如,当我逐一查看图像时,如果我手动单击这些按钮数百次:

在此处输入图片描述

而是通过脚本自动进行的。

这个怎么做?

注意:我知道这可能不是是无损的,但我仍然希望永久旋转,以便默认的 Windows 7 图像查看器能够以良好的方向看到它们。

笔记2:这是源文件, 可供下载。

答案1

  • jpegtran从这里下载:http://jpegclub.org/jpegtran/. 直接链接至执行程序。您不需要自己运行这个 .exe,但它对于jhead(参见下一点)工作是必需的。jpegtran根据其主页,它是一种可以执行“无损旋转和相关变换”的工具。

  • jhead从这里下载:http://www.sentex.net/~mwandel/jhead/. 直接链接至执行程序.jhead是一个“Exif Jpeg 标头操作工具”,它将读取 JPG 内部的方向元数据,并jpegtran在必要时将其传递给旋转。

  • 赶紧跑

    jhead -autorot *.jpg
    

就是这样!

问题很有用,我添加了一些细节,以便从 Windows 用户的角度轻松使用。

注意:有时,某些文件可能会发生错误,导致无法继续处理其他文件,这很烦人。for /r %i in (*.jpg) do jhead -autorot "%i"在这种情况下,then 可以提供帮助。[如果它在批处理文件中,请使用for /r %%Mi in (*.jpg) do jhead -autorot "%%i"]

相关内容