如何使用imagemagick翻转多个图像?

时间:2014-09-16 13:40:06

标签: imagemagick

我尝试使用ImageMagik水平翻转特定文件夹中的图像。但是mogrify -flop *jpg正在改变镜像中的所有图像。我想保留初始图像,对于失败的图像,我想将它们重命名为*_flop.jpg。我被卡住了:怎么办?

2 个答案:

答案 0 :(得分:2)

假设您使用的是Linux或OSX,请执行以下操作:

#!/bin/bash
for f in *.jpg; do
   new="${f%%.jpg}_flop.jpg"
   echo convert "$f" -flop "$new"
done

此刻,它什么也没做,只是告诉你它会做什么。如果你喜欢它显示的内容,只需删除单词echo并再次运行它。

将上面的代码保存为flopper,然后转到终端并输入:

chmod +x flopper         # Just do this one time to make the script executable (runnable)
./flopper                # Actually run it

答案 1 :(得分:1)

更新

对于较新版本的ImageMagick(版本7及更高版本),您无需编写: convert -flop

相反,您需要编写:

magick -flop

因此,您的脚本实际上变成了:

#!/bin/bash/

for file in *.jpg
do 
magick $file -flop ${file%%.jpg}_flop.jpg
done

注意:当您的文件名中没有空格或换行符时,此功能才有效。