aka*_*ola 5 python unix fonts bitmap spacing
我需要批量创建带有文本的图像。要求:
到目前为止,我已经评估了以下内容:
PIL 的问题在于,例如 Verdana 的默认间距太稀疏了。我需要文本更紧凑一些,但无法在 PIL 中对其进行调整。
在 ImageMagick 中,我还没有找到一种简单的方法来指定文本在图像中的开始位置(我使用的是 -size WIDTHxHEIGHT 和标题:'TEXT')。添加透明边框会将文本从其锚定的角落移开,但是
我是否错过了一些明显的替代方案或未能从上述提到的功能中找到必要的功能?
这是 SVG + ImageMagick 解决方案:
基于此模板以编程方式创建 SVG 文档,将“TEXT HERE”替换为所需的文本内容:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE svg PUBLIC
"-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" width="152px" height="50px">
<text style="font-size: 22px; font-weight:bold; font-family: Verdana-Bold;
letter-spacing: -1.3%;">
<tspan x="10" y="39">TEXT HERE</tspan>
</text>
</svg>
Run Code Online (Sandbox Code Playgroud)
使用 ImageMagick 将文档转换为背景透明的 PNG convert
:
$ convert -background none input.svg output.png
Run Code Online (Sandbox Code Playgroud)