图片的大小是固定的。文本的长度是可变的,并且文本包含英语和中文。如何编写文本图像并自动换行?
我的代码:

from PIL import Image, ImageFont, ImageDraw
import os

text='测试测试测试测试测试testtesttesttesttest.....[[[[]]]]测试测试xxxxxxxxxxxxxxx试测试测试试测试测试试测试测试'
im = Image.open('xxx.png')
dr = ImageDraw.Draw(im)
font = ImageFont.truetype(os.path.join("fonts", "MSYH.TTC"), 30)
dr.text((10, 10), text , font=font, fill="#CB9410")
im.show()

最佳答案

一种方法是使用PIL.ImageDraw.ImageDraw.textsize函数确定给定字符串的长度。然后,您可以编写一些内容来调整字符串以使其适合并分成多行。我看到还有一个PIL.ImageDraw.ImageDraw.multiline_text函数可能也有帮助。

关于python - PIL:如何编写文本图像并自动换行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53163566/

10-13 03:21