Поверните все изображения в каталоге, которые имеют определенную геометрию

Я хотел бы повернуть все изображения в каталоге, которые имеют определенную геометрию. Я могу использовать ImageMagick для этого? Раз так Вы могли помочь мне с кодом для командной строки?

3
задан 27 October 2019 в 10:24

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 установка для Вашего желаемого размера и затем копирует и вставляет целый отрывок в Окно терминала в каталоге, содержащем Ваши файлы изображений...

Объяснение синтаксиса...

Сначала существует структура:

  1. Основание для этого фрагмента кода for цикл, который находит все jpg файлы в определенном каталоге:

    for i in *.jpg
    do
    <Insert command here....>
    done
    

    Но некоторые исключения должны быть сделаны, прежде чем команда выполняется, и для этого мы вкладываем использование условного оператора if...

  2. Вторая структура if оператор, который значительно содержит test для необходимого jpg размера:

    if <Insert test here...>
    then
    <Insert command here...>
    fi
    

Затем for цикл и if оператор вкладывается и добавляется к соединению:

  1. Соответствующий тест, который ищет jpgs, которые имеют необходимый размер:

    [ $(identify -format "%[fx:w]x%[fx:h]\n" "$i") = 1920x1080 ]
    
  2. Соответствующая команда, которая поворачивает эти jpg файлы на 90 градусов:

    convert "$i" -rotate 90 "${i%.jpg}_rotated.jpg"
    

И затем работы волшебства Bash :)

2
ответ дан 1 December 2019 в 16:57

Другие вопросы по тегам:

Похожие вопросы: