只操作不透明像素

只操作不透明像素

"""
  只操作不透明像素
"""
from PIL import Image

im = Image.open('res/bug.png')
im = im.convert('RGBA')

data = im.getdata()
print(dir(data))

newData=[]
for a in data:
    if a[3]!=0:         # 如果像素本来是不透明的,则变成半透明
        a=a[:3]         # 取RGB三像素值
        a=a+(120,)       # 增加A通道,(0,255)之间的数
        newData.append(a)
    else:
        newData.append(a) # 本来是透明的,则不改变

im.putdata(newData) 
im.save('test.png')

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。