使用 Freetype 支持安装 Aggdraw

Kar*_*gat 5 python freetype aggdraw

我正在尝试使用 Windows 中的 Freetype 文本渲染支持为 Python 2,7 编译 Aggdraw 绘图模块。问题是,即使我按本书做所有事情,我仍然收到错误消息,提示没有字体渲染器:

Traceback (most recent call last):
  File "C:\Users\BIGKIMO\Desktop\fdsfdf.py", line 9, in <module>
    font = Font('black', r'C:\Windows\Fonts\Georgia.ttf')
IOError: cannot load font (no text renderer)
Run Code Online (Sandbox Code Playgroud)

我已经阅读了以前的帖子,因此执行以下步骤:

  1. 下载了 Freetype 2.3.5 的预编译版本
  2. 将 setup.py 脚本中的 FREETYPE_ROOT 变量指向 freetype 文件夹路径(“C:/.../Desktop/freetype-2.3.5”)
  3. 通过键入安装 aggdraw cd path/to/folder/of/setup.py,然后python setup.py install

安装脚本似乎接受了我提供的 freetype 位置,并且不会抱怨 freetype 被禁用,所以我认为 Aggdraw Freetype 支持已安装。

我已经在 Mac 上尝试过同样的方法,使用 64 位版本的 Aggdraw,编译 Freetype,编译 Aggdraw 并链接到 Freetype,但仍然不会让我绘制文本。

这是我用来测试文本渲染的代码,尽管这应该不是问题:

from PIL import Image
from aggdraw import Draw, Brush, Pen, Font

size = 500, 500
img = Image.new("RGBA", size)
draw = Draw(img)
draw.rectangle((0, 0) + size, Brush((255, 255, 255), opacity=255))
draw.setantialias(True)
font = Font('black', r'C:\Windows\Fonts\Georgia.ttf')
draw.text((100, 100), "hello, world", font)
draw.flush()
img.save("test.png")
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?为什么它会让我使用指向 Freetype 的链接进行编译,但仍然抱怨没有字体渲染器?

谢谢!