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

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

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

[-]
View Code Bash
convert image.gif \
    -coalesce \
    -gravity south \
    -draw 'image over 0,0 0,0 "watermark.png"' \
    result.gif"
  • image.gif — исходный рисунок;
  • .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.

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

Исходное изображение

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

Водяные знаки

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

Результат

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

Вложения:

Автор: ; опубликовано в: ImageMagick; метки: ImageMagick, watermark
14
Сен
2009

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

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

Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

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

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

गते गते पारगते पारसंगते बोधि स्वाहा