我是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
答案 0 :(得分:0)
也许是因为你没有在文字中使用任何字体。 试试这个:
font = ImageFont.truetype("C:/Windows/Fonts/Arial.ttf", 24)
draw.text((0, 0),"Sample Text",(255,255,255),font=font)