受到“手动给证件加文字太麻烦”的感触,想用Python来实现给图片加水印,这不方便多了。
这里使用PIL模块:
from PIL import Image
from PIL import ImageFont
from PIL import ImageDrawimg_t = Image.open('cat.jpg')
img_size_t = img_t.size
w = img_t.width
h = img_t.height
f = img_t.formatprint(img_size_t)
print(w,h,f) # 得到图片大小和 图片格式
# img_path 原图片路径
# output_path 处理后,输出的图片路径
# text 要添加的水印文字def watermark_Image3(img_path, output_path, text):img = Image.open(img_path)drawing = ImageDraw.Draw(img)text_t = textinit_y = 200for x in range(100, 2300, 500): for y in range(init_y, 1400, 200): # font = ImageFont.truetype("simsun.ttc", size= 80) # 设置字体和文字大小# 选择系统字体 r'C:/Windows/Fonts/Arial.ttf' font = ImageFont.truetype(r'C:/Windows/Fonts/Impact.ttf', size= 80) # 设置字体和文字大小drawing.text((x,y), '{}!'.format(text_t), font=font, fill='red') # 文本左上角坐标,文本内容(我还在文本后加了个!),文本颜色 。# fill也可以使用RGB编码设置颜色,如 fill=(256,256,256)if init_y <= 200: # 使每列水印有个高度差init_y += 100else:init_y -= 100img.show()img.save(output_path) # 保存img_path_t = 'cat.jpg'
watermark_Image3(img_path_t, 'cat_watermarked3.jpg', 'cat')