You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Python Pillow库添加图片文字时无法加载指定字体的问题

解决PIL设置字体不生效的问题

哦,我发现问题啦!你加载了字体对象,但没把它传给draw.text()方法,所以PIL默认用了系统自带的字体,导致你的字体和字号设置完全没生效~

修正后的代码

from PIL import Image, ImageDraw, ImageFont

def writeImage(text):
    img = Image.new('RGB', (1920, 1080), color=(255,255,255))
    draw = ImageDraw.Draw(img)
    # 加载字体
    fnt = ImageFont.truetype("constan.ttf", 36)
    # 写入文字时必须传入font参数,才能应用自定义字体设置
    draw.text((100,100), text, fill=(0,0,0), font=fnt)
    img.save("recap.jpg")

额外排查提示

  • 确认字体文件名完全正确:比如constan.ttf是不是实际的文件名?注意大小写(Linux/macOS系统对文件名大小写敏感,Windows不敏感)。
  • 如果同一目录还是加载失败,可以试试用绝对路径加载字体,避免路径问题:
    import os
    font_path = os.path.join(os.path.dirname(__file__), "constan.ttf")
    fnt = ImageFont.truetype(font_path, 36)
    
  • 检查字体文件是否完好:如果字体文件损坏,PIL可能会静默 fallback 到默认字体,可以换个已知正常的字体文件测试。

内容的提问来源于stack exchange,提问作者FedericoAntosiano

火山引擎 最新活动