5

学校の学年のウェブサイトから成績を取得し、成績を画像に描画して背景として保存するスクリプトを作成しています。画像にテキストを描画するときにフォントを変更しようとしていますが、エラー

ここに私が試しているコードがあります:

font = ImageFont.load('C:\WINDOWS\Fonts\CALIBRI.TTF')
img = Image.open('bg.bmp')
draw = ImageDraw.Draw(img)

now = datetime.datetime.now()


draw.text((625, 425),'                      CURRENT GRADES' )
draw.text((625, 475), 'Period 1: Geography -----------------------------{0}'.format(a),("blue"),(font))
draw.text((625, 525), 'Period 2: Francais-------------------------------{0}'.format(b),("red"),(font))
draw.text((625, 575), 'Period 3: Science--------------------------------{0}'.format(c),("orange"),(font))
draw.text((625, 625), 'Period 4: P.E------------------------------------{0}'.format(d),("blue"),(font))
draw.text((625, 675), 'Period 5: Algebra 9------------------------------{0}'.format(e),("red"),(font))
draw.text((625, 725), 'Period 6: LA-------------------------------------{0}'.format(f),("orange"),(font))
draw.text((625, 775), 'Last Updated: {0}'.format(now))

img.save('mod_bg.bmp')

しかし、これを行うと、次のエラーメッセージが表示されます:

Traceback (most recent call last):
  File "C:\Python27\Project.py", line 45, in <module>
     font = ImageFont.load('C:\WINDOWS\Fonts\CALIBRI.TTF')
  File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 193, in load
    f._load_pilfont(filename)
  File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 91, in _load_pilfont
    raise IOError("cannot find glyph data file")
IOError: cannot find glyph data file

これが機能しない理由と、代わりに何をすべきかを誰か教えてもらえますか

4

2 に答える 2

1

このエラーに出くわしましたが、インストールされた PIL が libfreetype なしでコンパイルされたためだと思います。これを取得するには、freetype2 をインストールしてから PIL をコンパイルする必要があります。見る

Python: _imagingft C モジュールがインストールされていません

または、PIL ライブラリの更新されたフォークである Pillow を試すこともできます。

https://pypi.python.org/pypi/Pillow/2.0.0

于 2013-05-10T02:53:58.567 に答える