【发布时间】:2013-11-22 11:04:55
【问题描述】:
据我所知,这个问题末尾的图像是一个模式 I 的 PNG,它代表 Indexed。
我正在尝试从中创建一个缩略图,并使用 PIL 将其保存为 JPG。
但是,我是否不理会mode,PIL 不会让我调整它的大小并出现错误unable to generate thumbnail: cannot write mode I as JPEG.
如果我将其转换为RGB,结果将是全白图像。
有没有办法解决这个问题?
【问题讨论】:
-
嗯 - “图像”是 JPEG。有机会显示实际图像吗? (因为问题可能出在原始 PNG 上。)如果您使用 PIL 将 Indexed 转换为 RGB,(1)转换后的图像仍然可以吗? (2)如果你使用其他软件将图像转换为RGB,它是否有效?
-
嗨,StackOverflow 在我上传图片时转换了我的图片。我编辑了提供 Dropbox 链接的问题。您的回答:(1)不,索引文件在转换为 RGB 时会变成全白; (2) 是的,它与 Gimp 一起使用。
-
您可以再尝试一个手动步骤吗?输入文件为 16 位灰度。将其转换为 8 位并使用它运行您的原始代码。如果有效,则问题出在 PIL 上。 “灰度”与“索引”相同,为 8 位模式(256 种灰度)。也许这就是这里的根本问题。
-
谢谢。所以我像这样转换它,它起作用了:
table = [i/256 for i in range(65536)]; im = im.point(table, 'L')- 这是什么意思?`如果可能,我宁愿不通过降低位深度来丢失图像的深度。 -
PIL 模式 I 用于未编入索引的“32 位整数像素”。 PIL 中的“索引”模式将是“P(8 位像素,使用调色板映射到任何其他模式)”
标签: png python-imaging-library zlib