Не знаю пригодится ли это кому-нибудь или нет, но мне оказалось очень полезно. Итак, передо мной встала задача изменения разрешения кучи картинок. Для тех, кто работает с вебом задача частая. Имеем папку в которой лежит 800 jpg-файлов, которые нужно привести к "общему знаменателю". Сделал скриптик такого рода:
mkdir small
for f in *.jpg ;
do
convert -quality 100 -resize 640x480 "$f" "small/${f%.jpg}-small.jpg" ;
done
сначала создаем папку small куда будем помещать результат работы скрипта.
Convert пропорционально изменяет размер картинки, так, что она будет не больше заданных параметров. В моем случае это 640x480. Остается лишь сделать цикл который будет крутиться, пока в переменной f не кончатся файлы с маской *.jpg, то есть все файлы в папке, в которой запускается этот скрипт.
Другой скрипт очень похож на первый, но добавляет к картинкам логотип:
mkdir logo
for f in *.jpg ;
do
composite -compose overlay -gravity southeast logo.png "$f" "logo/${f%.jpg}.jpg"
done
logo.png - это заранее приготовленный логотип.
Надеюсь, это будет полезно не только мне. )))
Комментарии (1)
Пакетная обработка графических файлов
Отправить комментарий