Python 在样本图像上打印数据,但文本已超出图像范围

Python 在样本图像上打印数据,但文本已超出图像范围,python,excel,scrapinghub,Python,Excel,Scrapinghub,图片中的所有数据都取自excel表格,图像大小为220×320,我无法增加图像大小。 但我希望退出图像的第4行数据位于第4行下面 import pandas as pd df = pd.read_excel('vetements.xlsx') from PIL import Image, ImageDraw, ImageFont def prepare_row(row): row = row.tolist() rec = [] rec.append(row[0] + '

图片中的所有数据都取自excel表格,图像大小为220×320,我无法增加图像大小。 但我希望退出图像的第4行数据位于第4行下面

import pandas as pd
df = pd.read_excel('vetements.xlsx')
from PIL import Image, ImageDraw, ImageFont
def prepare_row(row):
    row = row.tolist()
    rec = []
    rec.append(row[0] + ' ' + str(row[1]) +' £')
    rec.append(row[2].replace('Tapez :', '').strip() + ' ' + str(row[3]))
    rec.append('Tailies: ' + row[5])
    rec.append('Couleurs: ' + row[4])
    return rec
def write_to_image(row):
    img = Image.open('sample_image.png')
    d1 = ImageDraw.Draw(img)
    font1 = ImageFont.truetype("arial.ttf", 17)
    font2 = ImageFont.truetype("arial.ttf", 30)
    d1.text((11, 22), row[0], font=font1 ,fill=(0, 0, 0))
    d1.text((11, 62), row[1], font=font2 ,fill=(0, 0, 0))
    d1.text((11, 112), row[2], font=font1 ,fill=(0, 0, 0))
    d1.text((11, 162), row[3], font=font1 ,fill=(0, 0, 0))
    img.show()
write_to_image(prepare_row(df.loc[10]))

请出示预期的image@Alderven我已经更新了,请检查一下,看看是否有意义。请将您的代码发布为text@Alderven刚刚以文本形式添加了代码。您必须使用d1.textsize来确定文本是否合适,如果不合适,请决定如何将其拆分到另一行。一个经典的自动换行算法。