我想使所有的白色像素透明使用Python图像库。 (我是一个C黑客试图学习Python,所以要温柔) 我已经得到了转化工作(至少像素值看起来是正确的),但我无法弄清楚如何将列表转换成一个缓冲重新创建图像。下面的代码使用PIL使所有白色像素透明?
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")
只是潜在的安全你一些时间:如果您正在使用Python3工作,你必须去枕(HTTP: //python-pillow.org/)而不是PIL。 – davedadizzel 2016-10-10 13:39:11