3

我已成功将一些 Python 代码移植到使用 PIL 的 ImageFont 和 ImageDraw 生成动态图像的 App Engine。唯一剩下的问题是原始代码使用如下调用加载 TrueType 字体:

titlefont = ImageFont.truetype("Verdana Bold.ttf", titlefontsize)

我不能只上传字体文件并直接在 GAE 中访问它(至少我不认为我可以?!)。我想可能有可能以某种方式将字体数据转储到数据存储 blob 中,加载并将其输入 PIL,但这似乎不够优雅,如果每个使用 PIL 生成图像的人都做同样的事情,这将是非常浪费的。目前我被困住了ImageFont.load_default(),这给出了非常可怕的结果。

在 GAE PIL 中是否有一些巧妙的方法可以使用替代字体?我缺少的一些额外的 API 会返回可用的字体对象?

4

1 回答 1

3

部署应用程序时,应用程序目录中的任何文件都将与应用程序一起上传。

所以是的,您应该能够“仅”访问您需要的任何文件,方法是将其保存在您的应用程序目录中或下,必要时将其移动到那里。

如果您想提供这些文件,那就另当别论了。https://developers.google.com/appengine/docs/python/gettingstarted/staticfiles

但是请尝试将您的 .ttf 文件包含在您的应用程序可以找到它的位置,并且它应该可以正常工作。

于 2012-11-04T16:37:34.083 回答