Python之PIL模块案例

Python图像库PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库pillow,pillow号称是friendly fork for PIL,其功能和PIL差不多,但是支持python3。

 1 from PIL import Image, ImageDraw, ImageFont
 2 import os
 3 
 4 def watermark(img_path, p_name, p_year, p_month, p_day, p_adderss, p_shen_fen_id):
 5 
 6     # 打开图片
 7     img = Image.open(img_path)
 8     print(img.format,img.size,img.mode)
 9 
10     # 添加文字
11     draw = ImageDraw.Draw(img)
12 
13     font = ImageFont.truetype(font='PingFang.ttc', size=100)
14 
15     # 参数:位置、文本、填充、字体
16     # 姓名
17     draw.text(xy=(1200, 710), text=p_name, fill=(0, 0, 0), font=font)
18     #
19     draw.text(xy=(1200, 1177), text=p_year, fill=(0, 0, 0), font=font)
20     #
21     draw.text(xy=(1750, 1170), text=p_month, fill=(0, 0, 0), font=font)
22     #
23     draw.text(xy=(2100, 1170), text=p_day, fill=(0, 0, 0), font=font)
24     # 住址
25     draw.text(xy=(1200, 1380), text=p_adderss, fill=(0,0,0), font=font)
26     # 身份证号
27     draw.text(xy=(1900, 1980), text=p_shen_fen_id, fill=(0, 0, 0), font=font)
28 
29     # 保存
30     name, ext = os.path.splitext(img_path)
31     img.save(f"{name}-%d-{ext}" % randint(100, 999))
32 
33 
34 if __name__ == '__main__':
35     watermark("data/WechatIMG348.jpeg",d_name, d_year, d_month, d_day, d_address, d_shen_fen_id)

 

posted @ 2021-04-27 22:44  术科术  阅读(176)  评论(0编辑  收藏  举报