链 2 个 imagemagick 命令

Chain 2 imagemagick commands

我想在图像中添加徽标和一些文本。

我可以通过以下方式实现:

// Add logo
composite -geometry +10+20 logo.png input.jpg \
    output_with_logo.jpg

// Add text
convert output_with_logo.jpg  -font Arial -pointsize 20 \
    -draw "fill black  text 20,50 'Test'" \
    final.jpg

但是我想知道是否可以将这 2 个命令链接在一起,这样我就可以同时使用同一个源文件,而不是保存图像的暂存版本。

我试过:

convert -font Arial -pointsize 20 \
    -draw "fill black  text 20,50 'Test'" \
    -composite -geometry +10+20 input.jpg logo.png \
    final.jpg

但是这会在图像上创建 2 "Test" 个字符串

像这样:

convert input.jpg logo.jpg -geometry +10+20 -composite -font Arial -pointsize 20 -draw "fill black  text 20,50 'Test'" final.jpg

与其使用不允许您添加文本的 composite 命令,不如使用 convert 命令及其 -composite 运算符来执行相同的操作。所以,我说:

composite A.jpg B.jpg result.jpg = convert A.jpg B.jpg -composite result.jpg

然后,完成合成后,您可以在之后添加文本 - 完全按照您的原样添加。