2013-07-03 92 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 
相關問題