如何在 Mac 上使用命令行批量调整 PNG 文件的大小?

How to batch resize PNG files with commandline on Mac?

我想在 Mac 上将 PNG 图像文件夹的大小调整为指定的缩放大小,例如 (50%)。使用命令行最简单的方法是什么?

谢谢,

只需安装 Imagemagick 然后您就可以使用 convertmogrify 命令轻松完成此类操作.

如果你想做一个充满图像的整个目录(文件夹),你需要的 ImageMagick 命令是 mogrify

# First, check current sizes of PNGs
identify *png
a.png PNG 2480x3508 2480x3508+0+0 8-bit sRGB 25.4KB 0.000u 0:00.009
b-0.png[1] PNG 2480x3508 2480x3508+0+0 8-bit sRGB 2c 2.18KB 0.000u 0:00.000
b-1.png[2] PNG 2480x3508 2480x3508+0+0 8-bit sRGB 2c 2.2KB 0.000u 0:00.000

# Now reduce those puppies in half
mogrify -resize 50x50% *png

# Re-check their sizes
identify *png
a.png PNG 1240x1754 1240x1754+0+0 8-bit sRGB 1.42KB 0.000u 0:00.000
b-0.png[1] PNG 1240x1754 1240x1754+0+0 8-bit sRGB 2c 1.43KB 0.000u 0:00.000
b-1.png[2] PNG 1240x1754 1240x1754+0+0 8-bit sRGB 2c 1.46KB 0.000u 0:00.000

已更新

如果你想做更奇特的事情,你可能更喜欢使用一个小循环:

#!/bin/bash
shopt -s nullglob
for f in *.png; do
   new=${f/.png/thumb.png}
   echo convert "$f" -resize 50x50% "$new"
done

因此,这将遍历所有 PNG 文件并为每个文件计算一个新名称(在变量 new 中),然后使用 ImageMagick 的 convert 调整图像大小并使用新名称保存.

首先备份您的图像,如果您喜欢它的工作方式,请从倒数第二行删除单词 echo 以使其实际执行任何操作,而不仅仅是告诉您它打算做什么。