Max*_*yko 10 python png python-imaging-library
from PIL import Image
img = Image.open('1.png')
img.save('2.png')
第一张图片有透明背景,但是当我保存它时,透明度消失了(背景为白色)
我究竟做错了什么?
Luc*_* S. 30
可能是图像被索引(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的工具而有所不同,但对您来说重要的是"透明度"键.在示例中,它表示调色板索引"7"必须被视为透明.
您始终可以将类型强制为“RGBA”,
img = Image.open('1.png')
img.convert('RGBA')
img.save('2.png')
| 归档时间: | 
 | 
| 查看次数: | 9836 次 | 
| 最近记录: |