ImageFont来自字体数据或URL

时间:2013-04-03 20:28:18

标签: python django fonts amazon-s3 python-imaging-library

我想知道如何在Python中使用来自URL或字体数据的ImageFont实例。 字体文件作为静态数据存储在Amazon S3实例上,我需要使用它来生成带有PIL的图像。

ImageFont.load()函数只接受文件名,所以我觉得很锁定。

尽可能深入挖掘代码,但是_imagingft.so库的getfont()函数将文件名作为参数,我不想修改这个库。 ;)

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

对于对解决方案感兴趣的人,请参阅this post

编辑:现在已经合并为主人,享受!

答案 1 :(得分:0)

示例可以在the test in Pillow repository中找到:

from PIL import ImageFont
from io import BytesIO

def _font_as_bytes():
    with open(FONT_PATH, 'rb') as f:
        font_bytes = BytesIO(f.read())
    return font_bytes

ImageFont.truetype(_font_as_bytes(), FONT_SIZE)

另见:How do I open an image from the internet in PIL?