python3使用PIL添加中文文本水印背景
一、背景描述
pip install Pillow
pypi地址: https://pypi.org/project/Pillow/


二、具体实现
1、生成文本背景

font = ImageFont.truetype("simsun.ttc", fontSize,encoding="utf-8")
fill=(106,106,106)
2、旋转文本

3、设置水印

4、生成水印背景
i,j = 0,0
while 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
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()
三、运行效果

运行效果演示视频获取途径:
四、资源下载

python3使用PIL添加中文文本水印背景的更多相关文章
- Java 添加Word文本水印、图片水印
水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire ...
- C# 处理PPT水印(三)—— 在PPT中添加多行(平铺)文本水印效果
在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印:也可以添加多行(平铺)文本水印效果,即幻灯片中以一定方式平铺排列多个文本水印效果.本文 ...
- Java 在PPT中添加文本水印的简易方法(单一/平铺水印)
[前言] 在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即在幻灯片中心位置水印以单个文本字样显示,但通过一定方法也可以添加多行(平铺)文本水印效果,即在幻灯片中 ...
- java -PDF添加文本水印与图片水印
java pdf添加水印文本及图片文本 PDF文件添加文本水印: private static int interval = 30; public static void waterMark(Stri ...
- SnowNLP:•中文分词•词性标准•提取文本摘要,•提取文本关键词,•转换成拼音•繁体转简体的 处理中文文本的Python3 类库
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和Te ...
- Spire.Cloud.Word 添加Word水印(文本水印、图片水印)
概述 Spire.Cloud.Word提供了watermarksApi接口可用于添加水印,包括添加文本水印(SetTextWatermark).图片水印(SetImageWatermark),本文将对 ...
- word封面背景及水印背景
word封面背景及水印背景 觉得有用的话,欢迎一起讨论相互学习~Follow Me 制作封面 在制作商业项目申报书的时候我们想要封面尽可能美观,常用的方法是使用插入一张很大的图片作为背景. 标题等文本 ...
- LSTM实现中文文本情感分析
1. 背景介绍 文本情感分析是在文本分析领域的典型任务,实用价值很高.本模型是第一个上手实现的深度学习模型,目的是对深度学习做一个初步的了解,并入门深度学习在文本分析领域的应用.在进行模型的上手实现之 ...
- OpenCV添加中文(五)
OpenCV添加文字的方法putText(...),添加英文是没有问题的,但如果你要添加中文就会出现"???"的乱码,需要特殊处理一下. 下文提供封装好的(代码)方法,供OpenC ...
- Python中添加中文注释报错SyntaxError: Non-UTF-8 code starting with '\xc1'
问题:在文本编辑器中编辑Python文件时添加中文注释,运行python文件时报错.SyntaxError: Non-UTF-8 code starting with '\xc1' 解决方法:在文本开 ...
随机推荐
- [数据库/MySQL]解决异常:Data truncation: Truncated incorrect DOUBLE value: 'dc5'
1 场景复现 MySQL: 5.7.24-27 表结构 (两张独立的表) [表 RRR1] CREATE TABLE `RRR1` ( `R1` float NOT NULL COMMENT 'R1' ...
- 五月十五日java基础知识点
1.匿名内部类适用于编写事件程序 interface Ishape{ void shape(); } class MyType{ public void outShape(Ishape s){//接口 ...
- JSON.parse 函数 (JavaScript)
将 JavaScript 对象表示法 (JSON) 字符串转换为对象. 语法 参数 返回值 异常 以下示例使用 JSON.parse 将 JSON 字符串转换成对象. var jsontext = ' ...
- 从ajax到跨域引发的相关面试题总结
转载请注明出处: 1.ajax异步和同步的区别 Ajax是一种基于JavaScript语言和XMLHttpRequest对象的异步数据传输技术,通过它可以使不用刷新整个页面的情况下,对页面进行部分更新 ...
- Linux网络管理入门
根据自己的需要来设置Linux的一些属性 网络状态查看 在终端输入ifconfig可以查看网络状态 # ifconfig eth0: flags=4163<UP,BROADCAST,RUNNIN ...
- RabbitMQ详解(下)
一:序 通过<RabbitMQ详解(上)>一文中,我们可以知道RabbitMQ的一些基本的原生用法,如交换机的创建及消息的投递,但是在企业中我们大部分都是把RabbitMQ集成到Sprin ...
- 第4章. 安装reco主题
大家可以按照我的教程来安装,也可以访问 reco_luan 大佬的 官方教程 根据自己的电脑类型和开发环境配置,来选择合适的安装方式. 一.快速开始 npx # 初始化,并选择 2.x npx @vu ...
- [双目视差] 立体匹配算法推理 - SGBM算法(一)
文章目录 立体匹配算法推理 - SGBM算法(一) 一.SGBM与SGM的区别 二.代价计算 立体匹配算法推理 - SGBM算法(一) SGBM立体匹配算法,总体来讲包含以下6个步骤: Preproc ...
- Java代码读取properties配置文件
读取properties配置文件 package com.easycrud.utils; import java.io.IOException; import java.io.InputStream; ...
- CentOS 8 部署 ELK 8.7真的是方便呀
之前装过一次 ELK 7.7,相比之下装 8.7可方便太多了~ CentOS版本 CentOS-8.5.2111-x86_64-dvd1 JAVA ELK会自己使用内置版本的JDK ElasticSe ...