6

使用 Python Imaging Library (PIL) 我得到:

"ValueError: image has wrong mode"

尝试将 RGBA 模式图像转换为 P 模式图像时。我找不到任何证据证明这是可能的。我在 convert() 方法中找到的材料并没有说明这是不可能的。我想知道我是否做错了什么,或者这是不可能的。

这是我的代码:

from PIL import Image

transImage = Image.open("transparent_8_bit.png")
print transImage.mode

transImageRGBA = transImage.convert("RGBA")
print transImageRGBA.mode

transImageP = transImageRGBA.convert('P', palette=Image.ADAPTIVE)
print transImageP.mode

这是图像“transparent_8_bit.png”:http ://s24.postimg.org/4xqzu9n4h/transparent_8_bit.png

输出应该是:

P
RGBA
P

但是,我明白了:

P
RGBA
Traceback (most recent call last):
  File "mode_test.py", line 7, in <module>
    transImageP = transImageRGBA.convert('P', palette=Image.ADAPTIVE)
  File "/Library/Python/2.7/site-packages/PIL/Image.py", line 689, in convert
    im = self.im.quantize(colors)
ValueError: image has wrong mode

PIL不能做到这一点吗?

谢谢你的帮助!

4

0 回答 0