В общем, что долго рассусоливать, расскажу как было дело: встала задача склеить несколько сканированных страниц документа в одну длинную страницу. Да, можно в гимпе сделать документ и вставить сканы, но это не спортивно, и, главное, такие документы периодически надо будут делать снова.
К тому же, это нужно не мне, а другому человеку - нет желания тратить время на объяснения как сделать склейку в графическом редакторе. Уж не помню когда и при каких обстоятельствах познакомился с отличным пакетом консольных программ для работы с графическим файлами под названием ImageMagic, но - "вот то, что мне нужно" - сразу подумал я :) И просто для пользователя - сделал кнопарь, показал в какую папку складывать сканы, и соответствует Linux-way.
А теперь внимание, вот она, волшебная команда, творящая сие сильное колдунство:
montage *.jpg -tile 1x3 -geometry +0+0 result.jpgне знаю как у Вас, но у меня пакет ImageMagic стоял по-умолчанию, так что ничего дополнительно ставить не пришлось. Если у Вас данного пакета нет, то смело командуйте sudo apt-get install imagemagic
Давайте разбираться что эта команда делает (на оф.сайте все примеры на английском, разбираться с ними тяжко):
montage - собственно программа, которая будет выполнять сведение изображений;
*.jpg - говорим программе взять ВСЕ (*) файлы с расширением JPG из текущей папки, можно было просто через пробел перечислить их 1.jpg 2.jpg и т.д. (вроде можно даже вот так image[1-9].jpg);
-tile 1x3 - говорит программе разместить изображения в 1 столбец и 3 строки, т.е. так, как расположены обезьянки на данной странице;
-geometry +0+0 - не делать отступов и не менять размеры изображений;
result.jpg - уже склеенное изображение, т.е. результат работы.
Как будет время, постараюсь сделать сценарий для наутилуса, чтобы было вот так: выделил несколько файлов, выбрал действие "Склеить вертикально" и готово.
Помог решить задачу данных ресурс:
http://www.imagemagick.org/Usage/montage/#geometry_spacing
ImageMagick — отличный пакет, использую его постоянно при необходимости пакетной обработки изображений.
ОтветитьУдалитьЕсли обработка сложная и многоступенчатая, то удобно прописывать команды в bash-скрипт.
Например, одним скриптом можно уменьшить фотографии до заданного размера, оптимизировать их и наложить ватермарки.
Используя условные операторы, можно также делать своеобразные фильтры — обрабатывать только изображения с заданными параметрами (например, накладывать ватермарки на изображения с шириной больше указанной).
Спасибо тебе, добрый человек.
ОтветитьУдалить