ImageMagick - 如何避免使用 mogrify 覆盖现有文件?

ImageMagick - 如何避免使用 mogrify 覆盖现有文件?

我有以下文件./

a.jpg
b.jpg
256/a.jpg

我正在运行此命令将文件转换为 256px:

mogrify -path ./256/ -resize 256x256 *.jpg

但是此命令始终会覆盖 中的现有文件256,例如256/a.jpg。即使图像看起来相同,git diff仍会检测到文件中的变化。如何避免用 覆盖现有文件mogrify

版本:

ImageMagick 7.0.10-23 Q16 x86_64 2020-07-05
64bit Mac OS X 10.15.6 19G73

编辑:

我想要的结果是:

a.jpg
b.jpg
256/a.jpg (Unchanged)
256/b.jpg (Created)

@Sam Forbis 的回答
使用convert -resize 256x256 *.jpg -append ./256/*.jpg将导致:

a.jpg
b.jpg
256/a.jpg (Unchanged)
255/a-0.jpg (Created)
256/a-1.jpg (Created)

答案1

您应该使用命令convert而不是mogrify。从手册页mogrify

Mogrify 会覆盖原始图像文件,而 convert 则会写入不同的图像文件。

看起来输入选项与 相同convert。您只需指定输出选项和输出文件名,如手册页convert

convert [input-options] input-file [output-options] output-file

相关内容