2013-07-03 2 views
4

참고 : 이것은 스스로 대답하는 질문입니다.Python에서 PIL로 이미지의 크기를 조정할 때의 유형 오류

내가 파이썬 코드로 이미지 크기를 조정하기 위해 노력하고있어하지만 다음과 같은 이상한 오류 받고 있어요 :

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 당연히, 그러나 당신은 당신의 자신의 응답을 받아들이 기 전에 2 일을 기다려야한다! :) – Caumons

+0

하, 나는 그것을 몰랐다! – CnrL

0

가 작동하고, 다음 코드를 이식하는 것 :

try: 
    from PIL import Image 
    from PIL import ImageDraw 
except ImportError: 
    import Image 
    import ImageDraw 
관련 문제