什么程序最适合输出带有我输入的文本的图像?

什么程序最适合输出带有我输入的文本的图像?

我正在寻找一个能够输出带有我输入的文本的图像的程序。有点像模板,我会输入不同的文本/数字和图像,程序将输出图像,其顶部的文本位于我指定的坐标中。我想批量做。我可以为此使用的最佳程序是什么?

答案1

命令convertfromImageMagick可以执行您想要的操作,让您指定字体大小、颜色以及文本的放置位置。

例如

convert -pointsize 20 -fill yellow -draw 'text 270,460 "My string" ' source.jpg results.jpg

答案2

ImageMagickconvert是该领域的老牌企业。就我个人而言,我觉得它很糟糕,无论是在 CLI 的很多方面还是在速度方面。 (这并不一定会阻止您。)它也可能是在 Web 服务器上运行的最常被利用的软件之一。

gm在我看来,GraphicsMagick 的功能要好得多,可以执行以下操作:

#!/usr/bin/zsh

export text="Liam likes birds"
for infile in bird*.jpg; do
  gm convert \
    -font helvetica \
    -pointsize 48 \
    -fill blue \
    -draw "text 100,100 \"${text}\"" 
    ${infile} ${infile:r}-with-text.webp
done

(你会注意到 GraphicsMagick 显然是 ImageMagick 的一个分支。或者更确切地说,这两个软件都是从同一棵树上掉下来的,我认为GraphicsMagick 的落地没有那么不稳定;-P。尽管它不像 ImageMagick 那样被广泛利用,但您可能需要考虑在用户可以发送给您的图像上运行软件的风险(如果这是您的用例)。它的部署也不太广泛,因此它不太成为一个有吸引力的利用对象。)

如果您的问题更复杂,还有其他方法,例如使用 SVG 文件“模板”以及内部引用的图像文件(您的脚本可以替换该模板),然后使用例如rsvg-convert.

相关内容