1

我在使用命令行中的 imagemagick 的 Windows 7 机器上。

以下代码用于向图像添加水印:

composite                      \
     -watermark 30%            \
     -gravity south            \
      the_watermark.png        \
      pic_to_be_watermaked.png \
      watermark_completed.png

问题是:

  • 当我尝试为动画 GIF 加水印时它不起作用
  • 如何将此水印命令与以下命令结合使用?

此命令获取文件夹“static_images”中的所有 PNG,并将它们组合成动画 GIF。它还确保图像宽度为 350 像素,高度保持适当的纵横比。它还使图像有些模糊,并将动画的速度设置为 4,并确保它无限循环:

convert                         \
   -resize 350x350              \
   -fuzz 1.6%                   \
   -delay 4                     \
   -loop 0                      \
    static_images/*.png         \
   -layers OptimizePlus         \
   -layers OptimizeTransparency \
    animated_gif.gif

问题:

  1. 如何将水印命令与上述命令结合使用?
  2. 如何让水印命令与动画 GIF 一起使用?
4

1 回答 1

1

这是你想看到的结果吗?

带水印的 GIF 动画

诀窍是先给每个 PNG 源文件加水印,然后从加水印的 PNG 创建 GIF。

所以这是这两个命令的结果。首先,创建带水印的 PNG:

for i in sample_images/000*.png; do   
   convert                                     \
      "${i}"                                   \
      sample_images/the_watermark.png          \
     -gravity south                            \
     -composite                                \
      sample_images/$(basename "${i}")_wm.png;
done

请注意,我没有使用您的确切composite命令,因为它没有创建可读的水印,只是在指定区域有些模糊......

其次,将带水印的 PNG 转换为动画 GIF:

convert                         \
   -resize 350x350              \
   -fuzz 1.6%                   \
   -delay 4                     \
   -loop 0                      \
    sample_images/*_wm.png      \
   -layers OptimizePlus         \
   -layers OptimizeTransparency \
    animated_gif.gif      

这是你的意思吗?

于 2012-08-24T20:07:47.683 回答