Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用PIL转换具有透明度的灰度png_Python_Png_Transparency_Python Imaging Library - Fatal编程技术网

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

Python 使用PIL转换具有透明度的灰度png,python,png,transparency,python-imaging-library,Python,Png,Transparency,Python Imaging Library,如果我将png图像设置为灰度,则PIL会破坏其透明度。为什么? 这是我的密码: input = Image.open('input.png') output = ImageOps.grayscale(input) output.save('output.png', **input.info) 输入 输出 有没有办法解决这个问题?您可以使用带有亮度技巧的convert方法: Image.open('input.png').convert('LA').save('output.png') 我

如果我将png图像设置为灰度,则PIL会破坏其透明度。为什么?

这是我的密码:

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

输出


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

您可以使用带有亮度技巧的
convert
方法:

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

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

尝试:

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


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

这对我不起作用。透明背景被转换成黑色,有时是白色。我想找到一种方法,使透明部分保持透明。