我有各种高分辨率图像大小超过 6000 像素 x 4000 像素的文件夹。有些是 5000 像素 x 3000 像素,大小因文件夹而异。我想调整所有图像的大小以节省加载时间/处理/内存空间等资源。我想将所有图像保持在最小 3000x2000 最大 3500x2200 左右。我如何使用 imagemagick 批量执行此操作,替换原件。有人建议我在 ubuntu 上使用 imagemagick 和 morgify?
早些时候,当我有 Windows PC 时,我使用了 photosizer 软件。一张一张选择文件夹,然后用jpegMini软件处理图片。所以 5 mb 照片减小到 1.5 mb 左右。每个文件夹都包含不同分辨率的图像。这是一个耗时的过程。对于每个文件夹,我必须减少 fotosizer 的 % 以保持图像大小在 3000*2000 左右或多或少保持纵横比。
下面的命令,无论是在脚本中,还是仅从命令行运行,都将调整当前文件夹和当前文件夹的任何子文件夹中的所有图像的大小。
如果当前文件夹下的所有常规文件都是图像,您可以跳过 grep 步骤,如果不是,您需要修改它以包含所有且仅包含您必须处理的扩展名(-我假设 png , jpg 和 gif 显然)。这
-i
使它不区分大小写。根据需要更改“3500x2200”。它将在这些尺寸上保持纵横比和最大值。
如果有些是横向的,有些是纵向的,并且您不想区分纵向的,并且只希望较大的尺寸在 3500 左右,则“3500x3500”可能更有意义。
'>' 表示它不会向上调整大小,只是向下调整大小。
您还可以添加类似
-quality 90%
aftermogrify
以通过降低质量来减小文件大小。mogrify
根据您的要求覆盖原始文件,因此请确保在拉动触发器之前确实要执行此操作。...有点晚了,但也许它可能对其他人有所帮助:在 Ubuntu 上,我使用converseen(在软件中可用)。它与 Fotosizer(图形界面)非常相似,可以完成您正在寻找的工作。