Image 使用PIL保存png图像

Image 使用PIL保存png图像,image,save,python-imaging-library,Image,Save,Python Imaging Library,我是python新手,当我想运行以下代码时,我对PIL的save函数有一个问题 #!/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)) d

我是python新手,当我想运行以下代码时,我对PIL的save函数有一个问题

#!/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

可能是因为你没有对文本应用任何字体。 试试这个:

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

这似乎是字体的问题,可能是PIL安装,而不是保存。尝试使用回溯的最后一行进行搜索:ie,PIL IOError:decoder zip不可用,您将发现一系列可能适用于您的情况的建议。用一个很好的自我包含的,最少的例子,顺便说一句,措辞很好的问题。。。一个获得好答案的好方法!