Python PIL 0.5不透明度,透明度,alpha

And*_*son 7 python transparency alpha opacity python-imaging-library

有没有办法让图像半透明?

伪代码是这样的:

from PIL import Image
image = Image.open('image.png')
image = alpha(image, 0.5)
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索了几个小时,但我找不到任何有用的东西.

小智 15

我意识到这个问题很老,但是对于当前版本的Pillow(v4.2.1),有一个叫做的函数putalpha.它对我来说似乎很好.我不知道是否适用于你需要更改alpha的每种情况,但它确实有效.它为图像中的每个像素设置alpha值.看来,虽然你可以使用面具:http://www.leancrew.com/all-this/2013/11/transparency-with-pil/.

使用putalpha这样:

from PIL import Image
img = Image.open(image)
img.putalpha(128)  # Half alpha; alpha argument must be an int
img.save(dest)
Run Code Online (Sandbox Code Playgroud)


Pec*_*ans 4

你能做这样的事吗?

from PIL import Image
image = Image.open('image.png') #open image
image = image.convert("RGBA")  #convert to RGBA
rgb = image.getpixel(x,y) #Get the rgba value at coordinates x,y
rgb[3] = int(rgb[3] / 2) or you could do rgb[3] = 50 maybe? #set alpha to half somehow
image.putpixel((x,y), rgb) #put back the modified reba values at same pixel coordinates
Run Code Online (Sandbox Code Playgroud)

绝对不是最有效的做事方式,但它可能会起作用。我在浏览器中编写了代码,因此它可能不是没有错误的,但希望它能给您一个想法。

编辑:刚刚注意到这个问题有多老了。无论如何留下答案以供将来帮助。:)