使用 imagemagick 应用两步水印

Two-step watermark applying using imagemagick

我正在尝试在一个命令行中使用两个步骤将水印应用于任意大小的图像:

  1. 平铺小 png 图像并将其覆盖在目标图像上。
  2. 在左上角叠加徽标而不平铺。

我不了解 imagemagick 命令行原理,如果不在步骤 1 和步骤 2 之间创建临时文件,我无法创建命令行来进行这些操作。但我确信这是可能的:)

请帮我做到这一点。 谢谢。

有很多方法可以实现这一点,但最简单的方法是利用 ImageMagick's Stack 表示法 "()".

只需将第一步分组到括号中的命令中,并省略输出文件名。

convert \(                            \
          wizard:                     \
          -size 480x640               \
          -background transparent     \
          tile:label.png -composite   \
        \)                            \
        -gravity NorthEast rose:      \
        -composite output.png

以上将 label.png 合成为 wizard: 图像上的重复图像。 注意,在此示例中,我提供了 -size-background 属性。 Image Stack 的结果将被接受为第二个 [=16] 的输入图像=] 操作;其中,将 rose: 图像放在右上角。