0

开始!

  • 我有一个包含数十个子文件夹的文件夹,其中包含子文件夹
  • 我想调整所有长度大于 800px 的图像的大小,使新长度变为 800px,但图像保持相同的比例。例如,如果图像是 1200x600px,它会将其大小调整为 800x400px
  • 然后我希望它是“保存为网络”或至少优化它然后必须覆盖原始文件,因为我使用的是 GIF、JPEG、JPG 和 PNG

这可以一起完成吗,任何部分都可以轻松完成吗?

我在 Mac 上

提前致谢

4

1 回答 1

1

我会用 ImageMagick 来做。命令是这样的,但我会先创建一个备份:

#!/bin/bash
find . -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.gif" -o -iname "*.png" | \
   while read i; do
       echo convert "$i" -resize 800x800 -quality 85% "$i"
   done

这就是说...从dot(当前目录,如果您愿意,您可以在此处放置不同的起始目录)开始,找到所有名为“ .JPG”或“ .JPEG”或“ .GIF”或“ .PNG”的文件,无论大写或小写,在此目录和下面的所有目录中,并将它们的名称传递到 while 循环中。该convert命令说要调整图像大小,使两边都不超过 800 像素并保留纵横比,然后针对 Web 进行优化并覆盖原始文件。

目前,它什么也不做,它只是向您显示它将运行的命令,因此如果您喜欢它,您需要删除该单词echo并再次运行它。首先对一个或两个图像运行一些测试。

您可以添加-strip和删除 EXIF 数据(拍摄日期/时间照片、相机品牌和镜头等)以使文件更小-resize-quality您还可以插入版权字符串和 IPTC 配置文件以提供版权、联系人、来源、对象和信用信息 - 只需问我。

要运行上面的脚本,请将其保存在一个名为 的文件中resizer,然后进入终端并执行以下操作:

chmod +x resizer       # Just do this one time to make the script executable
./resizer              # Run the script

要在 Mac 上安装 ImageMagick,请使用homebrew. 转到此处并使用那里的代码行安装它。然后做:

brew install imagemagick

如果你不喜欢 ImageMagick,你可以使用sipsOSX 内置的,但它远没有那么灵活。如果您想尝试,基本命令将是:

sips -Z 800 somefile.jpg

然后它将图像的大小调整为两侧最大 800 像素。不知道如何优化或去除 EXIF sips,也不知道它是否适用于PNGGIF文件...然后您的命令将变为:

#!/bin/bash
find . -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.gif" -o -iname "*.png" | \
   while read i; do
       echo sips -Z 800 "$i"
   done
于 2014-09-17T16:24:29.357 回答