imagemagick 和 automator DPI 更改

imagemagick and automator DPI change

我正在尝试在 automator 中创建一个工作流程以将 DPI 从 72 更改为 300,以便我可以在 Finder 中的任何图像上使用它(当我右键单击图像时,我可以 运行那个行动)。

当我在终端中 运行 命令时,它工作正常:

mogrify -units PixelsPerInch *.jpg  -density 300 *.jpg

但是,当我在shell 脚本中使用它时,它不起作用,我不明白为什么。这是我目前所拥有的:

for f in "$@"
do
       /opt/ImageMagick/bin/mogrify mogrify -units PixelsPerInch *.jpg  -density 300 *.jpg
done

Screenshot from Automator

我们将不胜感激任何帮助。

mogrify 用于批量转换(因此您的 *.jpg 在工作版本中)但在您的示例中,您创建了一个循环来遍历文件。您似乎根本没有使用 f 变量。 您应该使用 convert 命令而不是 mogrify 让命令处理单个文件,然后在文件名出现的任何地方插入 $f