如何使用 imagemagick 创建像shutterstock一样的水印

Mih*_*kur 4 imagemagick imagemagick-convert

我想创建像 Shutterstock 一样的图像水印。我已经尝试过但无法复制它。我尝试使用以下命令。对我来说,问题是我无法像 Shutterstock 那样向图像添加对角线随机文本。我尝试了很多选择但没有运气。

infile="zoom.jpg"
ww=$(convert -ping "$infile" -format "%[fx:w-1]" info:)
hh=$(convert -ping "$infile" -format "%[fx:h-1]" info:)
convert "$infile" \
-fill "graya(100%,0.75)" \
-draw "line 0,0 $ww,$hh line $ww,0 0,$hh" -alpha off \
-fill "graya(50%,0.25)" \
tile_aqua_500_text_x_text.jpg

composite -dissolve 35 -gravity center logo.png tile_aqua_500_text_x_text.jpg tile_aqua_500_text_x_text.jpg

convert -background none -size 220x320 xc:none  -font DejaVu-Sans-Bold -pointsize 30 \
-gravity  North -draw "rotate -22 fill grey text 20,10 'knot9'"   \
-gravity  West -draw "rotate -27 fill grey text 5,15 '89898989'"   \
miff:- |\
composite -dissolve 70 -tile - tile_aqua_500_text_x_text.jpg  tile_aqua_500_text_x_text.jpg

width=`identify -format %w tile_aqua_500_text_x_text.jpg`; \

convert -background '#0008' -fill white -gravity center -size ${width}x30 -pointsize 10 -font DejaVu-Sans-Bold\
          caption:"\nThis image is Copyrighted by Knot9 \n www.knot9.com | Image Id: 89898989\n" \
          tile_aqua_500_text_x_text.jpg +swap -gravity south -composite  tile_aqua_500_text_x_text.jpg
Run Code Online (Sandbox Code Playgroud)

我的输出是 在此输入图像描述

要求是 在此输入图像描述

fmw*_*w42 6

在 ImageMagick 中,您可以执行以下操作。使用 label: 在透明背景上创建一个小文本图像。旋转它。垫它来控制间距。将其平铺以填充图像。然后将平铺图像合成到背景图像上。

图像:

在此输入图像描述

convert lena.png \
\( -size 100x -background none -fill white -gravity center \
label:"watermark" -trim -rotate -30 \
-bordercolor none -border 10 \
-write mpr:wm +delete \
+clone -fill mpr:wm  -draw 'color 0,0 reset' \) \
-compose over -composite \
lena_watermark.png
Run Code Online (Sandbox Code Playgroud)


在此输入图像描述

如果使用 ImageMagick 7,则将转换更改为 magick

有关平铺,请参阅https://imagemagick.org/Usage/canvas/#tile_memory