python将文本转换成图片输出,支持自动换行
python将指定的文本绘制在一张空白图片上,直接将文字转换成图片输出,可以指定图片宽度,超出会自动换行
""" 皮蛋编程(https://www.pidancode.com) 创建日期:2022/4/3 功能描述:python将文本转换成图片输出 """ from PIL import Image, ImageFont, ImageDraw text = '欢迎访问:https://www.pidancode.com' font = ImageFont.truetype("./font.otf", 18) lines = [] line = '' for word in text: print(word) if font.getsize(line + word)[0] >= 300: lines.append(line) line = '' line += word print('size=', font.getsize(line + word)[0]) else: line = line + word lines.append(line) line_height = font.getsize(text)[1] img_height = line_height * (len(lines) + 1) print('len=', len(lines)) print('lines=', lines) im = Image.new("RGB", (300, img_height), (255, 255, 255)) dr = ImageDraw.Draw(im) x, y = 5, 5 for line in lines: dr.text((x, y), line, font=font, fill="#000000") y += line_height im.show() im.save("1.1.jpg")
代码在python3.9下测试通过。
相关文章