Python图像库 - 使图像区域透明

时间:2012-09-01 15:01:49

标签: python python-imaging-library alpha-transparency

对于比我更了解Python Image Library的人,我有一个简单的问题。我有一个带有alpha通道的png图像,我希望前两行像素完全透明。而已!到目前为止,我的努力使前两行透明,但原始图像丢失了它的alpha通道信息。有人知道实现这个目标的最佳途径吗?

2 个答案:

答案 0 :(得分:4)

你可以这样做。

img = Image.open("withAlpha.png")
p = img.load()

for y in range(2):
    for x in range(img.size[0]):
        t = list(p[x,y])
        t[3] = 0
        p[x,y] = tuple(t)

img.save("result.png")

答案 1 :(得分:3)

我会按以下方式进行:

img = Image.open("myimage.png")
p = img.load()
alpha = img.split()[-1]
width, height = img.size
for y in range(2): #First two rows
    for x in range(width): #The whole row
        alpha[x, y] = 0
img.putalpha(alpha)

我希望这有效。