python3使用PIL添加中文文本水印背景


(相关资料图)

环境:Windows10_x64Python版本 :3.9.2Pillow版本:9.1.1写的博客文章被转载且不注明出处的情况时有发生,甚至有部分转载者将文章配图添加自己的水印!为了保护作者劳动成果,添加水印是一个可选项。今天记录下Windows10环境下使用python3.9简单实现批量添加中文文本水印背景的过程,并提供示例代码及相关资源下载,可从如下渠道获取:关注微信公众号(聊聊博文,文末可扫码)后回复 20230704 获取。一、背景描述python的PIL库可进行图片处理,十分强大,可使用该库实现图片添加水印背景的需求。可通过pip进行安装(默认安装最新版),命令如下:
pip install Pillow 

pypi地址: https://pypi.org/project/Pillow/

文档地址: https://pillow.readthedocs.io/en/stable/二、具体实现这里列举下实现文本水印背景的关键点。1、生成文本背景可通过ImageDraw.text实现:https://pillow.readthedocs.io/en/stable/reference/ImageDraw.html#PIL.ImageDraw.ImageDraw.text中文文本可通过设置正确的字体实现:
font = ImageFont.truetype("simsun.ttc", fontSize,encoding="utf-8")
文本颜色可通过RGB值设置,示例如下:
fill=(106,106,106)
2、旋转文本可通过rotate函数实现:https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.rotate3、设置水印可通过Image.paste函数实现:https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.paste4、生成水印背景1)需要通过循环控制,多次设置背景图片;
i,j = 0,0while True:    x,y = i*step,i*step    if y < height :         x = 0    if y > height :         x = j*step        j = j + 1        y = height - 10    #print(i,"xy :",x,y)    draw_text(img,(x,y),fill,mask,rotated_mask)    if (x + step > width ) and (y + step > height ) : break    i = i + 1
2)导出时需要添加质量参数,避免导出的图片失真;
img.save(dstFile,optimize=True, quality=100)
5、多进程加速批量添加文本水印背景时,可使用进程池进行加速。
pool = Pool(processes=8)    # set the processes max number for root, dirs, files in os.walk(srcDir):    for name in files:        srcFile = os.path.join(root, name)        dstFile = os.path.join(dstDir, name)        print("%s => %s" % (srcFile,dstFile))        # add_watermark(srcFile,dstFile,fontSize,myText,angle,fill,step)        result = pool.apply_async(add_watermark,(srcFile,dstFile,fontSize,myText,angle,fill,step))pool.close()pool.join()  
完整源码可以从如下途径获取:关注微信公众号(聊聊博文,文末可扫码)后回复 20230704 获取。三、运行效果这里演示下python3使用PIL添加中文文本水印背景的运行效果,具体如下:

运行效果演示视频获取途径:

关注微信公众号(聊聊博文,文末可扫码)后回复 2023070401 获取。四、资源下载本文涉及源码和文件,可以从如下途径获取:关注微信公众号(聊聊博文,文末可扫码)后回复 20230704 获取。

关键词:

为您推荐

python3使用PIL添加中文文本水印背景

环境:Windows10_x64Python版本:3 9 2Pillow版本:9 1 1写的博客文章

来源:博客园2023-07-05

世界短讯!腾信退: 腾信关于公司股票进入退市整理期的第六次风险提示公告

腾信退:腾信关于公司股票进入退市整理期的第六次风险提示公告

来源:证券之星2023-07-05

快看点丨苹果问题报告退款说什么成功几率大(苹果官网问题报告退款申请)

苹果官网问题处理及申请退款方式:如果用户对所购买的iPhone iPad不满

来源:互联网2023-07-05

天天头条:8.95万架次航班延误!超1300架次航班被取消!美国政府、航空公司回应

7月4日是美国传统假期,美国汽车协会此前曾预计,大约会有417万人在这

来源:央视财经2023-07-04

双肩走格、一户一码……平阴这个街道打通社区治理“神经末梢” 焦点播报

记者程凌润通讯员赵青山矛盾在社区“熄灭”、服务在社区“升温”,精准

来源:齐鲁壹点2023-07-04

【报资讯】近期人民币汇率走势,怎么看?

近期,人民币兑美元汇率出现了一定程度的波动。6月28日,在岸人民币对

来源:中国青年网2023-07-04

全球观察:广州科技公司获中东首个国家级全域自动驾驶牌照

中新社广州7月4日电(蔡敏婕张羽雪)自动驾驶科技公司文远知行4日发布消

来源:中国新闻网2023-07-04

Xbox存储扩展卡英国迎来新史低!1TB售价1275元-环球滚动

IGN报道,希捷Xbox储存扩展卡1TB价格现已降至139英镑(人民币1275元)

来源:游民星空2023-07-04