Просто и почти без головной боли

Задача отсюда. Самый простой способ решения:

[-]
View Code Bash
convert image.gif \
    -coalesce \
    -gravity south \
    -draw 'image over 0,0 0,0 "watermark.png"' \
    result.gif"
  • image.gif — исходный рисунок;
  • watermark.png — водяные знаки;
  • result.gif — результат

Параметр gravity задаёт местоположение водяных знаков.

Если водяные знаки нужно предварительно обработать (например, подогнать под размер изображения), то команда несколько усложнится (в принципе, то же самое можно выполнить с использованием нескольких команд и использованием временных файлов, но хранение изображений в памяти удобнее):

[-]
View Code Bash
convert watermark.png \
    -resize 100x100
    -write mpr:wmark \
    +delete \
    image.gif \
    -coalesce \
    -gravity north \
    -draw 'image over 0,0 0,0 "mpr:wmark"' \
    result.gif

В данном случае watermark.png масштабируется с сохранением пропорций до 100×100, записывается в память (-write mpr:wmark), удаляется из последовательности изображений (+delete), в последовательность добавляются все кадры image.gif, вся последовательность собирается в одно изображение (-coalesce), на котором сверху (-gravity north) выводится преобразованный watermark.png (-draw 'image over 0,0 0,0 "mpr:wmark"'), а результат помещается в result.gif.

Оба варианта имеют одно достоинство: в качестве исходного изображения можно использовать любой файл, не обязательно .gif.

Из недостатков: не все версии ImageMagick нормально обрабатывают gif-файлы. Например, ImageMagick 6.4.5.4 (который идёт в Ubuntu Jaunty) может из такого изображения:

и таких водяных знаков:

сделать такой результат:

В версии 6.5.1.0 эта ошибка уже исправлена.

Добавить в закладки

Связанные записи

14
Сен
2009

Комментарии к статье «Добавление водяных знаков в анимированые GIF при помощи ImageMagick»  »

К статье «Добавление водяных знаков в анимированые GIF при помощи ImageMagick» комментариев пока нет. Не хотите ли стать первым?

Подписаться на RSS-ленту комментариев к статье «Добавление водяных знаков в анимированые GIF при помощи ImageMagick» Trackback URL: http://blog.sjinks.org.ua/imagemagick/631-adding-watermarks-to-animated-gifs-with-imagemagick/trackback/

Оставить комментарий к записи «Добавление водяных знаков в анимированые GIF при помощи ImageMagick»

Вы можете использовать данные тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, Вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя