我想旋转目录中具有特定几何形状的所有图像。我可以使用 ImageMagick 来实现这一点吗?如果可以,您能帮我提供命令提示符的代码吗?
答案1
类似下面的内容应该可以满足您的需求:
for i in *.jpg
do
if [ $(identify -format "%[fx:w]x%[fx:h]\n" "$i") = 1920x1080 ]
then
convert "$i" -rotate 90 "${i%.jpg}_rotated.jpg"
fi
done
只需改变1920x1080
设置你的所需大小,然后将整个代码片段复制并粘贴到终端窗口中在包含图像文件的目录中...
语法解释...
首先是结构:
此代码片段的基础是
for
查找jpg
特定目录中的所有文件的循环:for i in *.jpg do <Insert command here....> done
但一些排除必须在运行命令之前进行,为此我们使用嵌套条件语句
if
...第二个结构是一个
if
语句,其中重要的是包含test
所需的 jpg 大小:if <Insert test here...> then <Insert command here...> fi
接下来for
循环和if
语句嵌套,并添加到混合中:
适当的测试,搜索满足要求大小的 jpg 文件:
[ $(identify -format "%[fx:w]x%[fx:h]\n" "$i") = 1920x1080 ]
适当的命令,将这些 jpg 文件旋转 90 度:
convert "$i" -rotate 90 "${i%.jpg}_rotated.jpg"
然后 Bash 魔法就起作用了 :)