31 октября 2010 г.

Изменение размера изображений в Линукс с помощью ImageMagick

Потребовалось вырезать один и тот же фрагмент изображения из нескольких десятков снимков экрана. Проделывать всю эту рутинную работу вручную с помощью Gimp меня не устраивало. А со скриптами Gimp  совсем не знаком. Пришлось искать варианты в интернете. Благодаря Запискам дебианщика и клубу Убунту узнал о программе ImageMagick.
После установки этой программы принялся обрезать скриншоты командой:
convert -extract 1208x708+19+105 file1.png file1-convert.png
где 1208x708 - это размер вырезаемой области,
+19+105 - координата левого верхнего угла вырезаемой области,
file1.png - файл, из которого надо вырезать фрагмент,
file1-convert.png - файл, в который сохранить результаты обрезки.
Для пакетной обработки создадим скрипт convert_png.sh. Вот его содержимое:

#!/bin/bash
mkdir converted;
echo "Start convert";
for f in *.png;
do
echo "Converting file $f";
convert -extract 1208x708+19+105 "$f" "converted/${f%.png}.png";
echo "Converting file $f complete";
done;
echo "Converting complete";


Команда:
chmod ug+x convert_png.sh
делает этот файл исполняемым. Помещаем его в каталог, где находятся изображения для обработки и запускаем его:
./convert_png.sh
В текущей директории будет создана новая папка с именем converted, в которую будет сохраняться результат работы.
Теперь открываем изображение с вырезанным фрагментом в Gimp и в меню Image выбираем Fit Canvas to Layers для выравнивания изображения в слое.

Комментариев нет:

Отправить комментарий