我試圖使用PIL來保存一些在iPad 3上使用的漸進式,視網膜大小的圖像,但不斷收到「編碼器錯誤-2」在問題標題中提到。保存Progressive 2像素+ Jpeg與PIL時得到「編碼器錯誤-2」
我知道這是一個已知PIL + JPEG格式的問題,以及一些閱讀後,我聽說它可以通過添加一些像這樣的代碼來解決:
import PIL
from PIL import ImageFile
from exceptions import IOError
try:
img.save("img.jpg", "JPEG" , quality=80, progressive=True)
except IOError:
PIL.ImageFile.MAXBLOCK = img.size[0] * img.size[1]
img.save("img.jpg", "JPEG" , quality=80, progressive=True)
然而,即使使用上述後方法來增加PIL的Maxblock,我的腳本仍然拋出一個「編碼器錯誤-2」。我也試過使得MAXBLOCK骯髒的大,但沒有運氣與,或者:
PIL.ImageFile.MAXBLOCK = 2048 ** 10
我想處理的圖像是相當大(2048×2048),但我不願相信自己對PIL來說太大了。
是否有其他人遇到/解決了這類問題?
我從看起來是相同的原因有同樣的錯誤。我在違規方法(ImageFile.py,_save @ line 466)中設置了一個pdb trace,然後運行。我刪除了pdb跟蹤,它仍然工作。非常奇特。 –
我意識到這是對您的評論的遲來的迴應,但我並沒有登錄到該網站。我最終放棄了通過PIL來完成漸進式編碼 - 看起來底線是處理這樣大的圖像太老了。 –
可能的重複[如何使用Python PIL 1.1.7保存漸進式jpeg?](http://stackoverflow.com/questions/6788398/how-to-save-progressive-jpeg-using-python-pil-1-1 -7) – bummi