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

AGa*_*yer 1 image-resizing

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

谢谢,

Mar*_*ell 5

mogrify如果您想要执行充满图像的整个目录(文件夹),则需要 ImageMagick 命令。

# 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
Run Code Online (Sandbox Code Playgroud)

更新

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

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

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

首先备份您的图像,如果您喜欢它的工作方式,请删除echo第二行到最后一行中的单词,使其真正执行任何操作,而不仅仅是告诉您它计划做什么。