Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改png图像中的不透明度/alpha/透明度_Python_Pillow - Fatal编程技术网

Python 更改png图像中的不透明度/alpha/透明度

Python 更改png图像中的不透明度/alpha/透明度,python,pillow,Python,Pillow,我有一个png图像的透明度,我想改变它的不透明度保持像素的透明度只是增加一个百分比或东西。 我尝试使用putalpha,但它只是破坏了图像的透明度 我想要的是css中的opacity属性 多谢各位 img{opacity:.2} 找到了一种方法 image=Image.open("star_blue.png") opacity=0.5 bands=list(self.image.split()) if len(bands)==4: bands[3]=bands[3].point(lam

我有一个png图像的透明度,我想改变它的不透明度保持像素的透明度只是增加一个百分比或东西。 我尝试使用
putalpha
,但它只是破坏了图像的透明度

我想要的是css中的
opacity
属性

多谢各位

img{opacity:.2}
找到了一种方法

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)
找到密码了吗

感谢mmgp找到了一种方法

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)
找到密码了吗


感谢mmgp

png图像在所有通道均为零的情况下是透明的。第四个通道是不透明度。因此:

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)

png图像在所有通道都为零的情况下是透明的。第四个通道是不透明度。因此:

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)