2024-09-26 18:12:19 发布
网友
这是我的问题:
import Image im = Image.open("1.png") im.show() print im.mode im.convert("RGBA").save("2.png")
好吧,用我的图像你可以看出区别。 我的问题是:如何正确地转换它?
图片:
结果:
注意:原始图像具有半透明的辉光,结果为纯绿色“辉光”
此问题已在此处报告:
https://bitbucket.org/effbot/pil-2009-raclette/issue/8/corrupting-images-in-palette-mode
2012年3月,一条评论说,现在已经在PIL的开发版本中修复了这个问题。最新发布的版本是1.1.7,因此在1.2发布之前,修复程序将不可用。PIL的更新速度非常慢,所以不要指望它很快就出来。
不幸的是,你的PNG图像是一种PIL处理不好的类型-一个带有alpha通道的调色板图像。当你打开图像时,alpha被扔掉了,没有办法把它拿回。
这不同于通常的调色板透明度,其中调色板的一个索引用于表示完全透明的像素。
您可以使用^{}:
img = scipy.misc.imread(filename, mode='RGBA') img = Image.fromarray(img)
此问题已在此处报告:
https://bitbucket.org/effbot/pil-2009-raclette/issue/8/corrupting-images-in-palette-mode
2012年3月,一条评论说,现在已经在PIL的开发版本中修复了这个问题。最新发布的版本是1.1.7,因此在1.2发布之前,修复程序将不可用。PIL的更新速度非常慢,所以不要指望它很快就出来。
不幸的是,你的PNG图像是一种PIL处理不好的类型-一个带有alpha通道的调色板图像。当你打开图像时,alpha被扔掉了,没有办法把它拿回。
这不同于通常的调色板透明度,其中调色板的一个索引用于表示完全透明的像素。
您可以使用^{} :
相关问题 更多 >
编程相关推荐