Imagemagick:我可以设置水印图像的最大高度吗?

Imagemagick:我可以设置水印图像的最大高度吗?

我有这个 BASH 脚本,可以缩放水印图像:

#!/bin/bash

echo "Which file to watermark?"

read -e "filetowatermark"

echo "Which file to use as watermark?"

read -e "watermarkfile"

convert "$filetowatermark" "$watermarkfile" +distort affine "0,0 0,0 %[w],%[h] %[fx:t?v.w*(u.h/v.h*0.05):s.w],%[fx:t?v.h*(u.h/v.h*0.05):s.h]" -shave 1 -gravity southeast -geometry +200+200 -compose hard-light -composite "$filetowatermark"-signed.png

该脚本基于此:http://www.imagemagick.org/discourse-server/viewtopic.php?t=34883

有没有办法给水印图像最大尺寸,例如 40 px 的高度?

答案1

您可以通过先转换水印文件然后使用调整大小的水印文件来确保水印文件不大于 40px。

#!/bin/bash

echo "Which file to watermark?"

read -e "filetowatermark"

echo "Which file to use as watermark?"

read -e "watermarkfile"

convert "$watermarkfile" -resize 40x200\> "small$watermarkfile" 

convert "$filetowatermark" "small$watermarkfile" +distort affine "0,0 0,0 %[w],%[h] %[fx:t?v.w*(u.h/v.h*0.05):s.w],%[fx:t?v.h*(u.h/v.h*0.05):s.h]" -shave 1 -gravity southeast -geometry +200+200 -compose hard-light -composite "$filetowatermark"-signed.png

rm "small$watermarkfile"

我没有测试该脚本。变化是:

  • 水印文件已调整大小
  • 使用调整大小的水印
  • 调整大小的水印随后被删除

我在这里找到了调整大小的解决方案:https://stackoverflow.com/questions/40007722/resize-with-imagemagick-with-a-maximal-width-height

相关内容