Изменение размера у большого количества изображений

Этот метод может быть применён для:

  • Создания превью
  • Приведения большого числа изображений к нужному формату
  • Конвертации изображений в одном цветовом решении и других массовых изменениях изображений

Данный метод использует библиотеку ImageMagick, поэтому перед запуском скрипта её необходимо установить.
Установка ImageMagick для Ubuntu:

sudo apt-get install imagemagick

Код скрипта, изменяющего пропорционально все файлы в папке по ширине (90px):
#!/bin/bash
#resize.sh
for str in $@ ;do
convert $str  -resize "90x"  $str
done

Работа скрипта:

Если скрипту передаётся папка, пути к файлам в этой папке скрипт получает разделёнными пробелами. Если передаётся путь к файлу, он является одной строкой без пробелов. В строке

convert $str  -resize "90x"  $str

изменяем размер файла (пропорционально по ширине подгоняем все файлы к 90px и записываем результат в этот же файл.
Также тут можно использовать другие возможности imagemagick

Для запуска скрипта можно пользоваться следующими командами:

  • Конвертируем все jpg файлы в папке /tmp
# bash resize.sh /tmp/*.jpg
  • Конвертируем только файл test.gif в текущей папке
# bash resize.sh test.gif
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License