使用PIL转换具有透明度的灰度png

时间:2011-12-15 10:56:39

标签: python png transparency python-imaging-library

如果我将它们设为灰度,PIL会破坏png图像的透明度。为什么呢?

这是我的代码:

input = Image.open('input.png')
output = ImageOps.grayscale(input)
output.save('output.png', **input.info)

输入

http://imgur.com/a/m50p6

输出

http://imgur.com/a/m50p6

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:8)

您可以使用convert方法和亮度技巧:

Image.open('input.png').convert('LA').save('output.png')

答案 1 :(得分:0)

我也遇到了这个问题。我唯一能找到的解决方案是先转换为“ LA”,然后再转换为“ RGBA”

尝试:

Image.open('input.png').convert('LA').convert('RGBA')

我试图在tkinter画布上以透明方式显示生成的灰度PNG,但是我认为该方法可能也可以保存输出。