PIL: Как писать текстовые изображения и автоматически оборачивать? - PullRequest
0 голосов
/ 06 ноября 2018

Размер изображения фиксированный. Длина текста является переменной, а текст содержит английский и китайский языки. Как писать текстовые изображения и автоматически переносить? Мой код:

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()

1 Ответ

0 голосов
/ 06 ноября 2018

Одним из подходов было бы использование функции PIL.ImageDraw.ImageDraw.textsize для определения длины данной строки. Затем вы можете написать что-нибудь, чтобы приспособить строку к размеру строки и разбить ее на несколько строк. Я вижу, что есть также функция PIL.ImageDraw.ImageDraw.multiline_text, которая также может помочь.

...