在使用PIL保存渐进式2百万像素+Jpeg时获取“编码器错误2”

2024-09-27 00:13:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用PIL来保存一些渐进的视网膜大小的图像,以供ipad3使用,但仍会收到问题标题中提到的“编码器错误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弄得非常大,但也没什么运气:

^{pr2}$

我尝试处理的图像相当大(2048x2048),但我不敢相信它们太大了,PIL无法处理。在

其他人是否遇到/解决过此类问题?在


Tags: from图像importtrueimgpilsave错误
1条回答
网友
1楼 · 发布于 2024-09-27 00:13:30

如果你已经用pip安装了PIL,卸载它并安装pill。枕头库有PIL库的边缘版本。pip的PIL太旧了。如果你更新枕头而不是PIL,你不必设置PIL.ImageFile.MAXBLOCK. 它是自动处理的。在

如果您使用的git子模块是just have PIL source code download in to repo,请确保从GitHub下载最新的源代码并使用它。在

相关问题 更多 >

    热门问题