我正在尝试使用Python Image Library将所有白色像素变成透明的。 (我是一个尝试学习Python的C语言程序员,请温柔些) 我已经成功进行了转换(至少像素值看起来正确),但是我无法弄清如何将列表转换为缓冲区以重新创建图像。以下是代码:
img = Image.open('img.png')
imga = img.convert("RGBA")
datas = imga.getdata()
newData = list()
for item in datas:
if item[0] == 255 and item[1] == 255 and item[2] == 255:
newData.append([255, 255, 255, 0])
else:
newData.append(item)
imgb = Image.frombuffer("RGBA", imga.size, newData, "raw", "RGBA", 0, 1)
imgb.save("img2.png", "PNG")