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")
这是原图??
效果如下: