【发布时间】:2020-10-21 07:17:51
【问题描述】:
我尝试使用 ImageMagik 水平翻转特定文件夹中的图像。但是mogrify -flop *jpg 正在更改其镜像中的所有图像。我想保留初始图像,对于失败的图像,我想将它们重命名为*_flop.jpg。我被卡住了:怎么办?
【问题讨论】:
标签: imagemagick
我尝试使用 ImageMagik 水平翻转特定文件夹中的图像。但是mogrify -flop *jpg 正在更改其镜像中的所有图像。我想保留初始图像,对于失败的图像,我想将它们重命名为*_flop.jpg。我被卡住了:怎么办?
【问题讨论】:
标签: imagemagick
假设您使用的是 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
【讨论】:
更新:
对于较新版本的 ImageMagick(版本 7 及以上),您无需编写:
convert -flop
你需要写:
magick -flop
所以你的脚本基本上变成了:
#!/bin/bash/
for file in *.jpg
do
magick $file -flop ${file%%.jpg}_flop.jpg
done
注意:这适用于您的文件名中没有空格或换行符的情况。
【讨论】: