3

私よりもPythonImageLibraryをよく知っている人に簡単な質問があります。アルファチャネルを使用したpng画像があり、上2行のピクセルを完全に透明にしたい。それでおしまい!これまでのところ、私の努力により上位2行が透明になっていますが、元の画像ではアルファチャネル情報が失われています。誰もがこれを達成するための最良の方法を知っていますか?

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 に答える