2014-01-15 43 views
5

嘗試這種簡單的代碼寫在圖像上的文字:爲什麼Pillow無法識別JPEG格式?

import ImageFont 
import Image 
import ImageDraw 

font = ImageFont.truetype("arial.ttf", 16) 
img=Image.new("RGB", (200,200),(120,20,20)) 
draw = ImageDraw.Draw(img) 
draw.text((0, 0),"This is a test",(255,255,0),font=font) 
draw = ImageDraw.Draw(img) 

img.save("C:/Users/User/Desktop/test","jpeg") 

,我得到這個錯誤:

File "C:\Users\User\Anaconda\lib\site-packages\PIL\Image.py", line 1456, in save 
    save_handler = SAVE[format.upper()] # unknown format 
KeyError: 'JPEG' 

如何解決這個問題的任何想法?我使用Eclipse Kepler和PyDev插件在Windows 7中使用Python 2.7.5 Anaconda版本。我也試過img.save("test.jpeg")img.save("test.png")導致相同的錯誤。

回答

6

原來,Eclipse使用的是PIL而不是Pillow:我剛剛在Eclipse中刪除了PIL庫引用,並確保Pillow正在被使用,而且運行良好。

1

儘量只運行

img.save("test.jpg") 

,看看如果這樣做的伎倆。如果您還提供有效的擴展名,則不必指定文件的類型。

+0

對不起,你用我的快速反應打敗了我,我也嘗試過。 –

+0

嗯,這太糟糕了:) – MattDMo

+0

@Detroitteatime我只是通過保存到當前目錄中的文件來工作,而不用在''img.save('test.jpg')中放置文件路徑。你嘗試過嗎? – MattDMo

相關問題