Wil*_*lis 2 overlay watermark imagemagick image-processing
logo.png我想用ImageMagick添加水印nature.jpg,我使用以下命令:
magick nature.jpg logo.png -gravity southeast -geometry +10+10 -composite nature-wm.jpg
convert nature.jpg -resize 50% nature-50%.jpg
magick nature-50%.jpg logo.png -gravity southeast -geometry +10+10 -composite nature-50%-wm.jpg
Run Code Online (Sandbox Code Playgroud)
可以看到,当添加到宽高较大的图像时,水印会变小,但这不是我所期望的,我期望的是水印始终能够占据主图像的固定百分比,有人知道吗这个怎么做?
形象标识
原图像宽度和高度的 50%( nature-50%.jpg)

nature-50%.jpg添加了水印(中的徽标nature-50%.jpg看起来比原始图像中的大)

我想旋转水印,但我的做法不是我所期望的,很奇怪
magick nature.jpg -set option:logowidth "%[fx:int(w*0.25)]" \
\( logo.png -resize "%[logowidth]x" -rotate 45 \) \
-gravity southeast -geometry +10+10 -composite result.jpg
Run Code Online (Sandbox Code Playgroud)
我会通过加载背景,计算徽标相对于背景的宽度(这里我使用 0.25 作为我的系数),然后加载徽标并在合成之前调整大小来做到这一点:
magick background.jpg -set option:logowidth "%[fx:int(w*0.25)]" \
\( logo.png -resize "%[logowidth]x" \) \
-gravity southeast -geometry +10+10 -composite result.jpg
Run Code Online (Sandbox Code Playgroud)
关于更改透明度,根据您的评论,您可以使徽标 30% 不透明,如下所示:
magick background.jpg -set option:logowidth "%[fx:int(w*0.25)]" \( logo.png -resize "%[logowidth]x" -channel A -fx "u*0.3" \) -gravity southeast -geometry +10+10 -composite result.jpg
Run Code Online (Sandbox Code Playgroud)