使用PIL保存png成像

时间:2015-04-03 15:39:36

标签: image save python-imaging-library

我是python的新手,当我想运行以下代码时,PIL的保存功能有问题

#!/usr/bin/env python
import ImageFont
import Image
import ImageDraw
from PIL import Image
img=Image.new("RGB", (200,200),(120,20,20))
draw = ImageDraw.Draw(img)
draw.text((0, 0),"This is a test",(255,255,0))
draw = ImageDraw.Draw(img)
img.save("test.png")

我有这个错误我不知道为什么

Traceback (most recent call last):
  File "./ima2.py", line 9, in <module>
    draw.text((0, 0),"This is a test",(255,255,0))
  File "/usr/lib64/python2.7/site-packages/PIL/ImageDraw.py", line 260, in text
    font = self.getfont()
  File "/usr/lib64/python2.7/site-packages/PIL/ImageDraw.py", line 133, in getfont
    self.font = ImageFont.load_default()
  File "/usr/lib64/python2.7/site-packages/PIL/ImageFont.py", line 377, in load_default
    '''))))
  File "/usr/lib64/python2.7/site-packages/PIL/ImageFont.py", line 117, in _load_pilfont_data
    image.load()
  File "/usr/lib64/python2.7/site-packages/PIL/ImageFile.py", line 192, in load
    d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
  File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 381, in _getdecoder
    raise IOError("decoder %s not available" % decoder_name)
IOError: decoder zip not available

1 个答案:

答案 0 :(得分:0)

也许是因为你没有在文字中使用任何字体。 试试这个:

font = ImageFont.truetype("C:/Windows/Fonts/Arial.ttf", 24)             
draw.text((0, 0),"Sample Text",(255,255,255),font=font)