我正在尝试使用 PIL 保存一些渐进式、视网膜大小的图像以在 iPad 3 上使用,但不断收到问题标题中提到的“编码器错误 -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 来说太大而无法处理。
有没有其他人遇到/解决过此类问题?