python - 无法在 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")
解决方案
绘制文本时,需要具体告诉它使用哪种字体:
# note the font=fnt at the end
draw.text((100, 100), text, fill=(0, 0, 0), font=fnt)
这样,您可以轻松加载数十或数百种字体,并为每段文本选择应该使用哪种字体呈现。
推荐阅读
- python - 将 python 添加到 PATH 系统变量仍然不会阻止“pip”被识别
- node.js - 续集承诺总是返回假
- c++ - 如何计算给定名称的正在运行的进程数?
- arrays - 如何解析包含嵌套 JSON 数组的 JSON 响应
- javascript - 如何使用排版以角度读取excel文件?
- amazon-web-services - Terraform 从 0.11 升级到 0.12 出现错误连接函数中“lists”参数的值无效
- c# - 水晶报表“加载报表失败”
- reactjs - 未处理的承诺拒绝:TypeError: undefined is not an object (evalating 'uri.split')] on React Native Expo
- c++ - C++ FLTK FL_INPUT 检测何时按下输入然后将文本添加到 FL_TEXT_DISPLAY
- javascript - 无法使用 ajax 将变量从 javascript 传输到 php