Массовое рекурсивное уменьшение разрешения картинок?

Задача:

Рекурсивно отловить все картинки и у тех, разрешение которых больше 1280 пикселей по большей стороне (72dpi), соответственно уменьшить до этих самых 1280 по большей стороне / 72dpi.


Парсинг интернета в течение нескольких дней привел к формированию следующей консольной команды:

find /input/ -iname "*.*" -print0 | xargs -0 mogrify -resize 1280/ -quality 70 -density 72



Однако работает она как-то странно — иногда уменьшает картинку в соответствии с моими параметрами, а иногда уменьшает до 1280pix по меньшей стороне. Закономерности выявить не удалось.


Подскажите, где я допустил ошибку или какую консольную команду лучше использовать под мою задачу?
  • Вопрос задан
  • 3763 просмотра
Пригласить эксперта
Ответы на вопрос 2
@rakeev
Ваш ресайз уменьшает до 1280 по ширине, высоту не учитывает совсем. Нужно -resize '1280x1280>'
www.imagemagick.org/www/command-line-processing.html#geometry
Ответ написан
sledopit
@sledopit
Попробуйте вместо 1280/ использовать 1280x1280:

find /input/ -iname "*.*" -exec convert {} -resize 1280x1280 -quality 70 -density 72 {} \;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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