Поиск по этому блогу

четверг, 4 июня 2015 г.

Пакетное изменение размеров и типа изображений в Linux

Понадобилось уменьшить размер изображений для сайта
Для этого решил уменьшить разрешение и сменить тип с png на jpg

Переходим в папку с изображениями

Пробую
$ for file in *.png; do convert $file -resize 900 -quality 75 resized-$file.jpg; done

По параметрам:

-resize 900 - ужимаем до 900пх по ширине, высота вычисляется автоматом
-quality 75 - качество сжатия jpg


Сыпется куча ошибок, мол файл не найден. Оказалось в именах файлов пробелы.

Убираем пробелы

$ for i in *.png; do k=`echo ${i}|sed s/' '/'_'/g`;mv "${i}" ${k};done 

После этого конвертится нормально, вес файлов уменьшился раз в 10.
Минус такого подхода , что к имени файла в конец добавляется .jpg , то есть получается .png.jpg, но меня это устраивает на данный момент.



Инфу почерпнул здесь:
тыц и тыц