【问题标题】:Python PIL - add text BEFORE image (on top of image NOT on the image)Python PIL - 在图像之前添加文本(在图像顶部而不是图像上)
【发布时间】:2019-11-12 05:17:15
【问题描述】:

如何在图像顶部添加文本(即不在图像内部)?

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')

【问题讨论】:

标签: python text python-imaging-library


【解决方案1】:

您应该创建一个比原始图像更大的图像,将第一个图像和文本粘贴到其上,如下所示:

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))
猜你喜欢
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
  • 2012-03-05
  • 1970-01-01
  • 2019-01-17
  • 2013-07-29
  • 2021-08-23
  • 2022-12-09
相关资源
最近更新 更多