1

我有一个 python 脚本,它使用 PIL 将文本写入图像。除了遇到带有回车符的字符串外,这一切都很好。我需要在文本中保留回车。我没有在图像上写回车,而是在应该返回的地方得到一个小方框字符。这是编写文本的代码:

<code>
 draw = ImageDraw.Draw(blankTemplate)
 draw.text((35 + attSpacing, 570),str(attText),fill=0,font=attFont)
</code>

attText 是我遇到问题的变量。我在写它之前将它转换为一个字符串,因为在某些情况下它是一个数字。

谢谢你的帮助。

4

2 回答 2

7

让我们想一想。“回归”意味着什么?这意味着向左走一段距离,然后向下走一段距离并继续显示字符。

您必须执行以下操作。

y, x = 35, 570
for line in attText.splitlines():
    draw.text( (x,y), line, ... )
    y = y + attSpacing
于 2009-04-14T16:58:25.440 回答
0

您可以尝试以下代码,它非常适合我的需求:

# Place Text on background
    lineCnt = 0
    for line in str(attText):
        draw = ImageDraw.Draw(blankTemplate)
        draw.text((35 + attSpacing,570 + 80 * lineCnt), line, font=attFont)
        lineCnt = lineCnt +1

表达式“y+80*lineCnt”根据行号将文本向下移动 y 位置。(必须根据字体调整移位系数“80”)。

于 2016-06-15T22:19:58.870 回答