среда, 20 апреля 2011 г.

Пакетное добавление водяного знака на фото в Linux

В те времена когда я пользования фотошопом выработал методику добавления водяного знака, теперь, когда перешел на Linux задумался как я буду это делать в Gimp. В поисках решения нашел отличный и простой способ добавления водяного знака через терминал, да еще с пакетной обработкой. Теперь всего лишь нужно подготовить прозрачное png изображение с водяным знаком и добавить его одним движением на сотни фотографий. Опишу для новичков подробное руководство на Ubuntu.

1. Готовим прозрачный водяной знак в Gimp. Для этого создаем прозрачный слой Файл - Создать - Расширенные параметры - Цвет фона - Прозрачный. Выберите нужное разрешение слоя (установите разрешение тех фотографий на которые вы хотите добавить водяной знак). Далее добавьте слой с текстом или изображением (водяной знак) поместив его в нужное место. Дайте ему необходимую прозрачность, например 50% в окне Слои - Непрозрачность. Сохраните работу в png дав ему название латинскими, например water.png. Сохраните в папку в которой находятся изображения на которые вы будете добавлять водяной знак. Например /home/user/photo/.

2. Открываем Gedit (Приложения - Стандартные - Gedit) и вставляем этот текст:

ls *.jpg | while read I; do composite -gravity center -quality 80 watermarkfile.png "$I" "/papka/dlya/vyvoda/rezultata/$I"; done

Редактируем его на ваш случай. Изменить нужно путь к папке, где будет сохранен результат. Этот путь /papka/dlya/vyvoda/rezultata/ меняем  на ваш (если ваша папка находится по этому пути и с таким названием) /home/user/result/, вместо user используйте имя своего пользователя. Если у вас фото в jpg то оставляете эту часть *.jpg как есть.

3. Открываем Терминал (Приложения - Стандартные - Терминал) и переходим в папку с фотографиями. Для этого вводим в терминале cd photo/ выглядеть в терминале должно так user@user-laptop:~/photo$ это означает, что вы через терминал находитесь в папке photo.

4. Используем пакетную обработку с помощью imagemagick (для установки введите в терминале sudo apt-get install imagemagick и введите ваш пароль) в терминал вводим тот текст, который вы подготовили в Gedit:

ls *.jpg | while read I; do composite -gravity center -quality 80 watermarkfile.png "$I" "/home/user/result/$I"; done


Жмем Enter и смотрим результат в папке result, все изображения должны быть с водяным знаком.


P.S. Если у вас некоторые изображения перевернуты, то необходимо их пересохранить перевернув в Gimp, это только в случае если Gimp при открытии изображения сам вам сообщит об этом. И еще, учтите, если вы хотите чтобы водяной знак располагался весь одинаково на всех фото с разными расширениями, то для каждого разрешения создавайте отдельное прозрачное изображение с водяным знаком.