2013-07-03 90 views
4

注意:这是一个自我回答的问题。在Python中使用PIL调整图像大小时的TypeError

我试图调整与Python代码的图像,但我发现以下奇怪的错误:

Traceback (most recent call last): 
    File "resize.py", line 5, in <module> 
    logo.save("StartMyProjects_resized.png", format="PNG") 
    File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1439, in save 
    save_handler(self, fp, filename) 
    File "/usr/lib/python2.7/dist-packages/PIL/PngImagePlugin.py", line 572, in _save 
    ImageFile._save(im, _idat(fp, chunk), [("zip", (0,0)+im.size, 0, rawmode)]) 
    File "/usr/lib/python2.7/dist-packages/PIL/ImageFile.py", line 481, in _save 
    e = Image._getencoder(im.mode, e, a, im.encoderconfig) 
    File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 399, in _getencoder 
    return apply(encoder, (mode,) + args + extra) 
TypeError: an integer is required 

而且我正在使用的代码是:

import Image 

logo = Image.open("my_image.png") 
logo = logo.resize((100, 100), Image.ANTIALIAS) 
logo.save("my_image_resized.png") 

回答

5

后我发现一些研究this question on StackOverflow这是不一样的,但似乎是相关的。

@SaranshMohapatra说他安装了PIL和Pillow(和我一样),他解决了卸载其中一个问题的问题。但我用另一种方式解决了这个问题。

我刚更改了Image导入。

从:import Image到:from PIL import Image并且解决了问题!

所以最终的文档片断如下:

from PIL import Image 

logo = Image.open("my_image.png") 
logo = logo.resize((100, 100), Image.ANTIALIAS) 
logo.save("my_image_resized.png") 
+0

我想你应该接受你自己的答案。 – CnrL

+0

@CnrL当然,但你必须等待两天才能接受你自己的答案! :) – Caumons

+0

哈,我不知道! – CnrL

0

对我的作品,而且似乎是便携的,下面的代码:

try: 
    from PIL import Image 
    from PIL import ImageDraw 
except ImportError: 
    import Image 
    import ImageDraw 
相关问题