Я хотел бы повернуть все изображения в каталоге, которые имеют определенную геометрию. Я могу использовать ImageMagick для этого? Раз так Вы могли помочь мне с кодом для командной строки?
Что-то как следующее должно удовлетворить Ваши потребности:
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
оператор вкладывается и добавляется к соединению:
Соответствующий тест, который ищет jpgs, которые имеют необходимый размер:
[ $(identify -format "%[fx:w]x%[fx:h]\n" "$i") = 1920x1080 ]
Соответствующая команда, которая поворачивает эти jpg файлы на 90 градусов:
convert "$i" -rotate 90 "${i%.jpg}_rotated.jpg"
И затем работы волшебства Bash :)