擅长:python、mysql、java
<p>我不确定一个文本包装器是否能帮助你,因为你需要分别画每一行。你知道吗</p>
<p>似乎应该计算单行中字符的最大长度,然后执行以下操作:</p>
<pre><code>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.
</code></pre>