У меня огромная, 12Гб, галерея на сервере, полная картинок в разных подпапках. Эти файлы слишком большие и не используются в полном разрешении. Мне нужно изменить размеры всех изображений до 820 пикселей в ширину (сохраняя пропорции). Поэтому мой вопрос - как я могу создать какой-нибудь скрипт сканирования, который будет изменять размеры всех изображений больше 820 пикселей и сохранять их обратно, перезаписывая оригинальный файл?
Надеюсь, вы можете помочь мне :-) Заранее спасибо.
linux
images
batch-jobs
G-Гор
источник
источник
find . -name "*.jpg" -exec mogrify -resize 820x {} +
сделаю их всех; если вы не хотите , чтобы обработать «меньше , чем 820px» из них, есть несколько вариантов здесь .Ответы:
Инструменты ImageMagick конвертировать или mogrify будет делать эту работу.
Вы можете получить их через менеджер пакетов или источник / rpms здесь: http://www.imagemagick.org/script/binary-releases.php#unix
Основное использование:
Если вам нужна рекурсия:
источник
find . -name '*.jpg' -execdir mogrify -resize '820x620>' {} \;
Используйте,
convert
чтобы сделать работу.convert -resize "1024x768>" origIMG destIMG
изменит размер origIMG до 1024x768, сохраняя пропорции и изменяя размер, только если изображение больше 1024, сохраняя новое изображение в destIMG. После этого вы можете переместить destIMG в оригинал.Используйте цикл, чтобы путешествовать по всем вашим каталогам или использовать
find
.источник
find
?