windows - 如何为动画 GIF 加水印并将 2 个 ImageMagick 命令组合在一起?

标签 windows image image-processing imagemagick

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

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

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 动画一起使用?

最佳答案

这是您希望看到的结果吗?

Animated GIF with watermark

诀窍是先给每个 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      

这是你想做的吗?

关于windows - 如何为动画 GIF 加水印并将 2 个 ImageMagick 命令组合在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100565/

相关文章:

windows - win32自定义内存管理有什么限制?

jquery - <head> 中绑定(bind)图像加载错误

python - 在抓取中查找网络图像的位置

python - 如何使用 Python OpenCV 计算图像中形状的面积?

c++ - 64 位进程上的 ReadProcessMemory 总是返回错误 299

C++ 可以访问内核模式注册表项访问吗?

c++ - 英特尔 TBB 代码在 Windows 和 Linux 中具有不同的执行时间

opencv - 高斯平滑的方差 (sigma) 影响

image - 在matlab中,colormap对图像没有影响

java - onPreviewFrame 不改变数据