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()
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()
评论