使用 ImageMagick 从文本生成图像?

2024-04-30

我正在尝试使用 ImageMagick 创建 3840 x 2160 的缩略图。

我需要图像具有黑色背景和白色文本。文本应垂直和水平居中。

我希望能够设置字体大小,但如果文本超出图像,则会自动减小字体大小,使其适合左侧和右侧的一定量的填充。

我将使用数十万张图像批量进行此操作。从我所发现的情况来看,您似乎总是必须设置字体大小,并且无法使其动态。

谁能确认这是否可行?


您可以设置一个大小,指定可用于文本的空间有多大,图像魔术师将选择适合的最大磅值文本:

magick -gravity center -background black -fill white -size 400x300 -font /System/Library/Fonts/MarkerFelt.ttc    caption:"Short Text" short.png
magick -gravity center -background black -fill white -size 400x300 -font /System/Library/Fonts/MarkerFelt.ttc    caption:"Somewhat longer text that will get rendered in a smaller font" long.png

如果您想要文本周围有边距,可以设置文本的最大尺寸,然后使用以下命令增加画布的尺寸-extent- 我会用红色来做,这样你就可以看到-extent added:

magick -gravity center -background black -fill white -size 400x300 -font /System/Library/Fonts/MarkerFelt.ttc    caption:"Somewhat longer text" -background red -extent 410x400 long.png

如果您正在从文件中读取行以生成数十万张图像,则可以从另一个命令中输入文本,如下所示:

echo -n "Text supplied by other command" | magick -gravity center -background black -fill white -size 400x300 -font /System/Library/Fonts/MarkerFelt.ttc caption:@- result.png 

如果你想知道什么是点大小图像魔术师选择后,你可以这样得到它:

magick identify -format "%[caption:pointsize]\n" result.png
59
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ImageMagick 从文本生成图像? 的相关文章

随机推荐