ImageMagick按比例添加水印
ImageMagick add watermark proportionally
我想用 ImageMagick 添加水印 logo.png
到 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
如你所见,在宽高较大的图片上添加水印后水印变小了,但这不是我所期望的,我所期望的是水印总是能占据固定的比例主图,有人知道怎么做吗?
徽标图片
原图
原图加水印
原图宽度和高度的50%(nature-50%.jpg
)
nature-50%.jpg
加了水印(nature-50%.jpg
中的logo比原图大)
更新
我想旋转水印,但是我的做法不是我想要的,很奇怪
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
我会加载背景,计算徽标相对于背景的宽度(这里我使用 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
关于更改透明度,根据您的意见,您可以像这样使徽标不透明 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
我想用 ImageMagick 添加水印 logo.png
到 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
如你所见,在宽高较大的图片上添加水印后水印变小了,但这不是我所期望的,我所期望的是水印总是能占据固定的比例主图,有人知道怎么做吗?
徽标图片
原图
原图加水印
原图宽度和高度的50%(nature-50%.jpg
)
nature-50%.jpg
加了水印(nature-50%.jpg
中的logo比原图大)
更新
我想旋转水印,但是我的做法不是我想要的,很奇怪
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
我会加载背景,计算徽标相对于背景的宽度(这里我使用 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
关于更改透明度,根据您的意见,您可以像这样使徽标不透明 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