2

这是我已经问过的一个问题,有几个得到了答案,但问题仍然存在。当我尝试使用 Image 模块在希伯来语中写入图像时,我得到了一些其他(ascii??)字母而不是希伯来字母。如果我转换为 unicode 或 ascii,则会收到它不支持的错误。我在这里得到了一个代码的参考,它可以用中文做我想要的:

import sys

import Imag

import ImageDraw

import ImageFont

import _imaging

txt = '你好,世界!'

font = ImageFont.truetype('c:/test/simsun.ttc',24)

im = Image.new("RGBA",(300,200),(0,0,0))

draw = ImageDraw.Draw(im)

#draw.text( (0,50), u'你好,世界!', font=font)

draw.text( (0,50), unicode(txt,'UTF-8'), font=font)

但后来我得到一个错误:ImportError:

_imagingft C 模块未安装。

当我尝试使用标准希伯来语字体 'arial.ttf' (当然使用希伯来语字符串)时也是如此。如您所见,我已成功导入 _imaging,因此问题并不像 effbot.org 所建议的那样存在。

似乎问题出在 Imagefont.truetype(...) 上。

任何帮助都会非常感激

4

2 回答 2

3

听起来 PIL 是在没有 FreeType 支持的情况下构建的。安装 FreeType 开发文件并再次重建 PIL。

于 2010-02-02T08:56:44.543 回答
1

问题是 PIL 1.1.7 不适用于 Windows XP。相同的代码在 linux 或 XP 下运行良好,但使用 PIL 1.1.6 mystory 已解决

于 2010-02-10T06:24:11.017 回答