如何将一个非显式给定的字符串分成两行或多行?

梅尔卡克

我目前正在使用一个输出带有文本的图像的 Python 机器人,但我发现文本通常太长而无法显示。因此,我决定将字符串分成两行,以便它适合我的图像。我正在使用 Pillow 5.1 进行图像处理。

我是 Python 编程的新手,我试图搜索如何将 Python 字符串分成两行或更多行。不幸的是,所有的结果似乎只处理显式给出的字符串(即“字符串”)。

print("Ababoubian wisdom!")
ababou2 = ababou() #returns a string, how to split into two lines?
if("Ababou" in ababou2):
    ababou2 = ababou()
font = ImageFont.truetype("Arial.ttf", 14)
img = Image.new('RGB', (300, 200), color = (random.randint(0, 255),random.randint(0, 255), random.randint(0, 255)))
d = ImageDraw.Draw(img)
d.text((0, 0), ababou2, font=font) #draws text

实际结果

预期结果:文本应该环绕到下一行。

霍迪斯

我不确定文本包装器是否可以帮助您,因为您需要单独绘制每条线。

似乎您应该在一行中计算字符的最大长度,然后执行以下操作:

ababou2 = ababou() # Whats the point of assigning the same value twice? 
                   # does ababou() returns a different value each time?
if "Ababou" in ababou2:
    ababou2 = ababou()

res_text = list()
ababou2 = ababou2.split(' ') # Splits the string by space\ ' ', to a list of strings 
curr_txt = ''
for word in ababou2:
    if len(curr_txt) < MAX_CHARS_PER_LINE: # This you need to figure out
        curr_txt += ' '  + word
    else:
        res_text.append(curr_txt)
        curr_txt = word

font = ImageFont.truetype("Arial.ttf", 14)
img = Image.new('RGB', (300, 200), color = (random.randint(0, 255),random.randint(0, 255), random.randint(0, 255)))
d = ImageDraw.Draw(img)
y = 0
for line in res_text:
    d.text((0, y), line, font=font) #draws text
    y += SINGLE_ROW_SPACE # Figure out what is the distance between two rows.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将一个字符串分成多行单个字符

来自分类Dev

将字符串分成两行

来自分类Dev

如何将非相似行的字符串放入一个元素并计数

来自分类Dev

如何将一个字符串分成两个字符串?

来自分类Dev

如何将一个字符串分成2个字符串

来自分类Dev

如何将一个单元格中包含的字符串分成几个?

来自分类Dev

如何将字符串用户输入分成两个不同的字符串?

来自分类Dev

如何将一个字符串分成两个,然后将其中一个字符串变成一个数字[php]

来自分类Dev

如何使用两个字符分隔符将字符串分成两行

来自分类Dev

如何将字符串分成两部分,然后将每个段分配给一个变量

来自分类Dev

如何将一个变量分成多行

来自分类Dev

如何将字符串(多字符)分隔符拆分成一个数组?

来自分类Dev

如何将一个字符串分成两部分然后以相反的顺序将它们连接为一个新字符串?

来自分类Dev

将两个不同的字符串拆分成一个数组?

来自分类Dev

在文件.yml中将字符串分成两行

来自分类Dev

如何将字符串分成两个div?

来自分类Dev

我如何将两个子字符串绑定到一个?

来自分类Dev

如何将字符串回显到以句点“。”为前缀的文件中。在一个sh脚本中

来自分类Dev

Python:如何将一个字符串拆分成多个字符串

来自分类Dev

如何将两行合并为一个列表?

来自分类Dev

熊猫:如何将行转换为一个字符串?

来自分类Dev

React-Material UI Typography如何将长字符串分成多行

来自分类Dev

如何在同一行中使两个回显字符串?

来自分类Dev

如何将字符串分成3个长度未知的单独字符串

来自分类Dev

将一列中的字符串分成多行

来自分类Dev

如何将字符串数组分成两个文件M C ++ 98 / VS2010

来自分类Dev

如何将列表中的整数和字符串元素分成两个不同的列表?

来自分类Dev

如何将字符串分成两半并将每一半转换为整数?

来自分类Dev

如何将两个字符串的cssText合并为一个?

Related 相关文章

  1. 1

    如何将一个字符串分成多行单个字符

  2. 2

    将字符串分成两行

  3. 3

    如何将非相似行的字符串放入一个元素并计数

  4. 4

    如何将一个字符串分成两个字符串?

  5. 5

    如何将一个字符串分成2个字符串

  6. 6

    如何将一个单元格中包含的字符串分成几个?

  7. 7

    如何将字符串用户输入分成两个不同的字符串?

  8. 8

    如何将一个字符串分成两个,然后将其中一个字符串变成一个数字[php]

  9. 9

    如何使用两个字符分隔符将字符串分成两行

  10. 10

    如何将字符串分成两部分,然后将每个段分配给一个变量

  11. 11

    如何将一个变量分成多行

  12. 12

    如何将字符串(多字符)分隔符拆分成一个数组?

  13. 13

    如何将一个字符串分成两部分然后以相反的顺序将它们连接为一个新字符串?

  14. 14

    将两个不同的字符串拆分成一个数组?

  15. 15

    在文件.yml中将字符串分成两行

  16. 16

    如何将字符串分成两个div?

  17. 17

    我如何将两个子字符串绑定到一个?

  18. 18

    如何将字符串回显到以句点“。”为前缀的文件中。在一个sh脚本中

  19. 19

    Python:如何将一个字符串拆分成多个字符串

  20. 20

    如何将两行合并为一个列表?

  21. 21

    熊猫:如何将行转换为一个字符串?

  22. 22

    React-Material UI Typography如何将长字符串分成多行

  23. 23

    如何在同一行中使两个回显字符串?

  24. 24

    如何将字符串分成3个长度未知的单独字符串

  25. 25

    将一列中的字符串分成多行

  26. 26

    如何将字符串数组分成两个文件M C ++ 98 / VS2010

  27. 27

    如何将列表中的整数和字符串元素分成两个不同的列表?

  28. 28

    如何将字符串分成两半并将每一半转换为整数?

  29. 29

    如何将两个字符串的cssText合并为一个?

热门标签

归档