PILを使用して、iPad 3で使用するためにプログレッシブのRetinaサイズの画像を保存しようとしていますが、質問のタイトルに記載されている「エンコーダエラー-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 x 2048)、PILが処理するには大きすぎるとは信じられません。
他の誰かがこのタイプの問題に遭遇/解決しましたか?