链 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
然后,完成合成后,您可以在之后添加文本 - 完全按照您的原样添加。
我想在图像中添加徽标和一些文本。
我可以通过以下方式实现:
// 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
然后,完成合成后,您可以在之后添加文本 - 完全按照您的原样添加。