Наложение водяных знаков на изображение при помощи ImageMagick

Вы наверняка знаете, что такое водяные знаки — это полупрозрачные или непрозрачные надписи на фотографии, которые обычно делаются для идентификации того, откуда взята иллюстрация или фотография. В общем-то достаточно просто наложить водяной знак на одну фотографию. А если их, скажем, 200, то вручную это сделать уже труднее. Но можно это сделать автоматически.

Для этого нам понадобится пакет imagemagick. Если он еще не установлен, то можно его установить, в Дебиане, например, вот такой командой:

apt-get install imagemagick

Еще нам понадобится изображение с водяным знаком. Самый простой вариант — это сделать в GIMP’е изображение такого размера, которого предполагается сделать итоговые фотографии, хотя можно будет и при помощи опций командной строки выбрать место размещения водяного знака на изображении. Затем надо сохранить изображение с водяным знаком в формате, поддерживающем прозрачный фон, например, PNG.

Итак. ImageMagick установлен, изображение с водяным знаком у нас готово. В общем-то, осталось совсем немного — выполнить наложение. Для этого используется утилита composite из пакета imagemagick. И сразу можно изменить размеры получаемых изображений.

addwatermark.sh:

#!/bin/bash
for i in `ls *.jpg`
do
    echo $i
    composite -resize 800 -watermark 10.0 watermark.png $i wm-$i
done

Сначала берется список всех файлов с расширением «.jpg» в текущей директории, затем их размер пропорционально изменяется до 800 точек по горизонтали. Потом накладывается водяной знак из файла watermark.png с уровнем прозрачности 10.0. Результат сохраняется в файл с расширением «.jpg», но с добавлением в начало имени «wp-«.

[wysija_form id=»2»]

Наложение водяных знаков на изображение при помощи ImageMagick: 2 комментария

  1. Вадим

    Большое спасибо за скрипт!
    Наконец-то я перестал накладывать вотермарк вручную и автоматизировал процесс. Уфф.
    :-)

    1. admin Автор записи

      Рад был помочь. Если могу помочь со скриптами — обращайтесь :)

Обсуждение закрыто.