首页 > 解决方案 > 无法在 Python 图像库(枕头)上加载字体

问题描述

我必须在图像上写一些文字。我正在使用 PIL,但我无法在此图片上设置特定字体。我尝试使用下面的代码来执行此操作,但似乎字体和字体大小不受我的代码的影响。

PS:字体文件在python脚本的同一目录下

#text => text to write on .jpeg
def writeImage(text):
    img = Image.new('RGB', (1920, 1080), color = (255,255,255))
    draw = ImageDraw.Draw(img)
    #load font
    fnt = ImageFont.truetype("constan.ttf", 36)
    #write text and save image
    draw.text((100,100), text, fill=(0,0,0))
    img.save("recap.jpg")

标签: pythonpython-3.ximagefontspython-imaging-library

解决方案


绘制文本时,需要具体告诉它使用哪种字体:

# note the font=fnt at the end
draw.text((100, 100), text, fill=(0, 0, 0), font=fnt)

这样,您可以轻松加载数十或数百种字体,并为每段文本选择应该使用哪种字体呈现。


推荐阅读