本文主要是介绍python一行写不下怎么换行_Python PIL 长文本换行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在使用PIL编写文字在图片上时,我们在知道api是只能编写一行,但是我们想要实现下图的描述文本的换行效果。
这个我们可以很简单的想到直接对文本做遍历计算长度切割就可以
# 设置字符串长度
def SetFixedStrLength(text):
font = ImageFont.truetype('Arial Unicode.ttf', 20)
# print(font.getsize(text))
strList = []
newStr = ''
index = 0
for item in text:
newStr += item
if font.getsize(newStr)[0] > 380:
# print(font.getsize(newStr)[0])
strList.append(newStr)
newStr = ''
# 如果后面长度不没有定长长就返回
if font.getsize(text[index:])[0] < 415:
strList.append(text[index:])
break
index += 1
resStr = ''
count = 0
for item in strList:
resStr += item+'\n'
count += 1
return resStr, count
这篇关于python一行写不下怎么换行_Python PIL 长文本换行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!