Всем доброй ночи!
Наверняка многие пользуются замечательной утилитой mogrify из пакета Imagemagick для массового ресайза картинок в директории.
Действительно, это дело можно довольно просто сделать просто набрав в консоли:Copy
mogrify -resize 800x600 \*.jpg
И в директории из которой запущена программа вс файлы с расширением jpg подвергнутся ресайзу до разрешения 800×600. Все довольно просто и быстро. Сюда стоит добавить лишь ключ -quality xx позволяющий выставить соответствующие параметры качества картинки для оптимального размера конечного файла.
Чтобы было и качественно и места занимало немного достаточно сконвертить все командой:Copy
mogrify -resize 800x600 -quality 75 \*.jpg
И картинки отресайзятся еще и с нужным качеством. Но что делать когда файлов изображений много и они раскиданы по куче поддиректорий? Ну не выполнять же каждый раз эту команду в новой папке, это мартышкин труд, а не unix-way получается =)
Столкнувшись сегодня с этой проблемой на просторах интернетов откопал я команду которая ресайзит картинки в поддиректориях. Оказалось что самый простой вариант это симбиоз утилит find и mogrify:Copy
find folder/ -name '\*.jpg' -exec mogrify -resize 800x600 -quality 75 {} \;
Утилита find сканирует директорию folder и поддиректории на предмет наличия файлов с расширением .jpg и затем передает список файлов утилите mogrify которая уже делает свое дело. Вот так ребятки, все просто и понятно! Удачи!