python PIL 给图片添加一个半透明的效果


注意:因为mask背景是透明的,图案是半透明的,所以需要转成’RGBA’模式,如果不转模式会报错;但是!!!在存储图片的时候要转回’RGB’格式

from PIL import Image, ImageDraw

bg_img =Image.open('./Morning.png').convert('RGBA')
# bg_img = Image.new("RGBA", (256, 256), (0, 0, 255, 255))
def drawRect(img, pos, **kwargs):
    transp = Image.new('RGBA', img.size, (0,0,0,0))
    draw = ImageDraw.Draw(transp, "RGBA")
    draw.rectangle(pos, **kwargs)
    img.paste(Image.alpha_composite(img, transp))

drawRect(bg_img, (0,155,875,435), fill=(255,255,255,150))
bg_img.show()
bg_img.convert('RGB')
bg_img.save("Morning.png")

这是原图👇
image
效果如下:
image


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM