我有一个透明的png图像,我想改变其不透明度,保持像素的透明度只需添加一个百分比或其他东西。
我尝试使用putalpha
,但它只会破坏图像中的透明度。
我想要的是像css中的opacity
属性。
谢谢。
img{opacity:.2}

<img src="http://i.imgur.com/2zGGyYB.png"/>
&#13;
答案 0 :(得分:0)
找到了办法。
image=Image.open("star_blue.png")
opacity=0.5
bands=list(self.image.split())
if len(bands)==4:
bands[3]=bands[3].point(lambda x:x*opacity)
new_image=Image.merge(image.mode,bands)
找到代码here
感谢mmgp
答案 1 :(得分:0)
png图像是透明的,其中所有通道均为零。第4个通道是不透明度。所以:
import matplotlib.pyplot as plt
im = plt.imread("http://i.imgur.com/2zGGyYB.png")
plt.imshow(im)
im[:,:,3]=np.where(im[:,:,2]>0,0.2,0)
plt.imshow(im)