Изменение размера у большого количества изображений
Этот метод может быть применён для:
- Создания превью
- Приведения большого числа изображений к нужному формату
- Конвертации изображений в одном цветовом решении и других массовых изменениях изображений
Данный метод использует библиотеку 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
page_revision: 1, last_edited: 1196292745|%e %b %Y, %H:%M %Z (%O ago)