from PIL import Image
img = Image.open('1.png')
img.save('2.png')
第一图像具有透明背景,但是当我保存它,透明度消失(背景为白色)PIL不保存透明度
我在做什么错?
from PIL import Image
img = Image.open('1.png')
img.save('2.png')
第一图像具有透明背景,但是当我保存它,透明度消失(背景为白色)PIL不保存透明度
我在做什么错?
图像可能被编入索引(PIL模式为“P”),因此透明度不是在PNG Alpha通道中设置的,而是在元数据信息中设置的。
你可以得到透明背景调色板索引用下面的代码:
from PIL import Image
img = Image.open('1.png')
png_info = img.info
img.save('2.png', **png_info)
图像信息是一本字典,所以你可以检查它看到的信息,它具有:
例如:如果您打印你会得到像输出如下:
{'transparency': 7, 'gamma': 0.45454, 'dpi': (72, 72)}
的信息保存在该处将根据创建原始PNG工具各不相同,但什么是importan这里给你的是“透明度”键。在这个例子中,调色板索引“7”必须被视为透明。
您可以随时强制类型为 “RGBA”,
img = Image.open('1.png')
img.convert('RGBA')
img.save('2.png')
当然,但从那个方面来说,他不会像格式明智的那样生成与原始图像相同的图像。 – 2009-08-05 16:38:14
+1。啊,是的,非常真实的卢卡斯S. – 2009-08-06 13:59:15
它的工作,谢谢!不过有点奇怪,那些属性没有自动保存。 – 2009-08-06 06:13:54