使用PIL在另一张图片上方的图片上写文本

时间:2018-08-09 18:55:18

标签: python python-imaging-library bots discord

from PIL import Image, ImageDraw, ImageFont, ImageOps

命令:

    font1 = ImageFont.truetype('timesbd.ttf',17)

    backgtound = Image.open('plan.png')
    bar = Image.open("bar.png")
    write = ImageDraw.Draw(bar)
    write.text(xy=(73, 181), text="{} / 20".format(numbertotal), fill=(255, 255, 255), font=font1)
    background.paste(bar, (2, 173), bar)
    background.save('plan2.png')

我在名为“ plan”的图像上方有一个名为“ bar”的图片,我正在尝试在图像“ bar”上书写文字,但该文字不在第二张图片的上方,而仅在第一张图片的上方一,有人可以帮我吗? (x,y坐标正确)

1 个答案:

答案 0 :(得分:2)

IIUC,并且您希望文本位于图像bar上,问题是粘贴后正在编写文本。相反,您可以先将文字写在图像bar上,然后将其粘贴到background中。

在此示例中,plan.png是狗,bar.png是猫。您可以看到该文本位于bar的顶部,而不是plan的顶部:

font1 = ImageFont.truetype('timesbd.ttf',17)

background = Image.open('plan.png')
bar = Image.open("bar.png")
write = ImageDraw.Draw(bar)
write.text(xy=(79, 181), text="my text", fill=(255, 255, 255), font=font1)
background.paste(bar)
background.save('plan2.png')

enter image description here