python图片增加半透明文字水印

__author__ = "dengxinyan"
 
from PIL import Image, ImageDraw, ImageFont
 
def watermark(img_path,word):
    # 打开图片
    img1 = Image.open(img_path)
    # 图片的颜色模式必须是RBGA,不然不能文字半透明
    img1 = img1.convert('RGBA')
    # 新建一个和原图大小一样的水印覆盖层
    text_overlay = Image.new('RGBA', img1.size, (255, 255, 255, 0))
    # 创建一个画图对象
    image_draw = ImageDraw.Draw(text_overlay)
    # 加载字体,设置字体大小
    font = ImageFont.truetype(r'Mucky Sans.ttf', 100)  # 字体大小
    # 在指定位置画上文字水印,160就是透明度
    image_draw.text((180, 50), word, font=font, fill=(255, 255, 255, 100))
    # 实现透明图像和一张背景不透明图像的合成
    img1 = Image.alpha_composite(img1, text_overlay)
    return img1
 
if __name__ == "__main__":
    img = watermark('pro_back_img2.jpg','w')
    img.show()

评论