Python PIL - 在图像之前添加文本(在图像顶部而非图像上方)

3
我该如何在图片上方添加文本(即不在图片内部)?

示例

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw 

img = Image.open("SAMPLE-IN.png")
draw = ImageDraw.Draw(img)
# font = ImageFont.truetype(<font-file>, <font-size>)
font = ImageFont.truetype("FONTS/arial.ttf", 36)
# draw.text((x, y),"Sample Text",(r,g,b))
draw.text((0,0),"Sample Text",(0,255,255),font=font)
img.save('sample-out.jpg')

加入一个像这样的边框... https://dev59.com/a7Hma4cB1Zd3GeqPSN4g#54706194 然后在其中编写代码。 - undefined
1个回答

3
您需要创建一个比原始图像更大的图像,将第一个图像和文本粘贴到其中,如下所示:
from PIL import Image, ImageFont, ImageDraw, ImageOps
img = Image.open("SAMPLE-IN.png")
img = ImageOps.expand(img, border=10, fill=(255,255,255))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("FONTS/arial.ttf", 36)
draw.text((0,0),"Sample Text",(0,255,255),font=font)
img.save('sample-out.jpg')

谢谢您,先生。我将边框增加到45,这正是我想要的:img = ImageOps.expand(img, border=45, fill=(255,255,255)) - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接