3

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

4

2 回答 2

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")
于 2012-09-01T15:54:43.883 回答
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)

我希望这行得通。

于 2012-09-01T15:38:40.563 回答