利用python实现多图片加上水印(可变化字体大小,颜色,位置,水印的深浅)
1.水印代码
# -*- coding: utf-8 -*-
from PIL import Image, ImageDraw, ImageFont
src="G:/Desktop/csdn/"
src1="G:/Desktop/csdn/加水印/"
# 使用PIL库对图像添加水印
# image: 图片 text:要添加的文本
def add_text_to_image(image, text):
font = ImageFont.truetype("G:\Desktop\STXINGKA.TTF", 50, encoding="unic")#可变化字体,和大小
rgba_image = image.convert('RGBA') # 将图像转化为4x8位像素,带透明度掩模的真彩色
text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0)) # 生成一个新的图像(模式,大小,颜色)
image_draw = ImageDraw.Draw(text_overlay) # 创建一个可以在给定图像上绘图的对象
image_draw.text((100, 200), text, font=font, fill=(255,0,0,40))#可变化字体位置,字体深浅
image_with_text = Image.alpha_composite(rgba_image, text_overlay)
return image_with_text
def xunhuan(): #循环调用
for i in range(1,5):
im_before = Image.open(src + "{}.png".format(i)) # 打开一张图片
im_after = add_text_to_image(im_before, '不点个关注再走吗???') # 使用PIL库添加水印
im_after.show()
im_after.save(src1 + "{}_after.png".format(i)) # 保存图片
if __name__=="__main__":
xunhuan()
2.水印运行截图
3.代码需要注意地方
注意:
例如:fill = (200, 10, 10, 0.5)
对于RGBA模式的图片,填充半透明色,alpha位置取值是0-255,你希望50%,应该是用128,不是0.5。