Python实用案例,Python脚本,Python实现批量加水印
往期回顾
前言:
今天我们就利用python脚本实现批量加水印。直接开整~
效果展示

有时候,为了保护版权,需要给作品中的图片加上水印。
一种是把水印(logo)加在图片的一个角落,就像有的是公众号会在后台把水印打开。
更厉害的一种是,水印在整个图上有很多,有个轻微的透明度,更安全。
PYTHON自动化
今天就来带大家,用Python给图片批量加上水印。有的小伙伴可能会说,网上也有很多工具有类似的功能,何必重复造轮子,被我猜到了吧。
既然如此,那就先看看用Python做这个工具的特点吧:
- 可以设置字体(大小)
- 可以设置角度
- 可以设置透明度
- 可以设置颜色
- 可以批量处理
- 可以设置水印的间隔
这个工具,其实是一个大神开源在Github上的项目,我只是个搬运工。
贴个地址:
代码可以从Github上下载,也可在“文末”找到下载方式。
重要的事说三遍:
记得把文件夹放在英文目录下 、记得把文件夹放在英文目录下 、记得把文件夹放在英文目录下
下载之后的目录结构是这样的:
- font
- input
- output
- marker.py
- README.md
“字体”文件夹,存放的是“青鸟华光简琥珀.ttf ”
“input”文件夹,存放的是你要处理的图片,那么“output”自然就是输出的结果了
“marker.py”是实现功能的脚本文件
“README.md”是一个介绍文档
值得注意的有两点:
1、把“青鸟华光简琥珀.ttf ” 改为 “bird.ttf”, 名字不重要,只要是换成英文。另外,你也可以把你本地的字体(你喜欢的)替换过来。
2、在“marker.py”脚本中,把对应的字体名称替换掉。

看看效果
到这里,可以运行试试了。
在“marker.py”的同级目录下,打开Terminal/cmd,输入如下命令:
python marker.py -f ./input/test.png -m 天作之程
- -f参数,输入图片的位置(可以是具体的一张照片,也可以是整个文件夹)
- -m参数,你要添加的内容
另外,上边提到的其他功能参数:
- -o 参数,指定输出水印文件的位置,默认为output文件夹。
- -c 参数,指定水印的颜色,默认值为黄色,#8B8B1B
- -s 参数,指定水印之间的空隙,默认值为75。
- -a 参数,指定水印的旋转角度,默认值30度。
- --size参数,指定水印文本字体大小,默认值为50。
- --opacity参数,指定透明度,默认为0.15,数值越小越透明。
这里放一个我觉得比较舒服的参数:
python marker.py -f ./input -m 天作之程 -c#232862 --opacity 0.05
如果觉得颜色不够完美,可以从下面的链接找到颜色对应的16进制,copy过来即可。
文章到这里就结束了,感谢你的观看,Python实用脚本系列,下篇文章分享Python破译zip压缩文件
为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
⑥ 两天的Python爬虫训练营直播权限
All done~详见个人简介或者私信获取完整源代码。。
Python实用案例,Python脚本,Python实现批量加水印的更多相关文章
- Python实用案例,Python脚本,Python实现每日更换“必应图片”为“桌面壁纸”
往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 前言: 今天我们就利用python脚本实现每日更换"必应图片& ...
- Python实用案例,Python脚本,Python实现自动监测Github项目并打开网页
往期回顾 Python实现文件自动归类 前言: 今天我们就利用Python脚本实现Github项目的更新,提醒方式是邮箱.直接开整~ 项目地址: https://github.com/kenwoodj ...
- Python实用案例,Python脚本,Python实现帮你选择双色球号码
往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 前言: 今天我们就利用python脚本实现帮你选择双色球号码.直接开整~ 开发工具: python版本: 3 ...
- Python实用案例,Python脚本,Python实现文件自动归类
前言: 今天我们就利用Python脚本实现文件自动归类吧.直接开整~ 预备知识 这个脚本实现比较简单,我把涉及的知识点列了出来. 1.相对路径.绝对路径,绝对路径就是最完整的路径. 'D:/code/ ...
- 【Python】简单的脚本,轻松批量修改文件名称
使用python脚本,批量修改文件夹名称 先创建一些没用的案例文件 import os #创建新文件夹 dir = os.makedirs('D:\\SomeThing\\testfile') #将文 ...
- python 实用案例 supervisord管理进程详解
Supervisor是由python语言编写,基于linux操作系统的一款服务器管理工具,用以监控服务器的运行,发现问题能立即自动预警及自动重启等功能.Supervisor类似于monit,monit ...
- 【Python爬虫案例学习】Python爬取天涯论坛评论
用到的包有requests - BeautSoup 我爬的是天涯论坛的财经论坛:'http://bbs.tianya.cn/list.jsp?item=develop' 它里面的其中的一个帖子的URL ...
- 【Python爬虫案例学习】python爬取淘宝里的手机报价并以价格排序
第一步: 先分析这个url,"?"后面的都是它的关键字,requests中get函数的关键字的参数是params,post函数的关键字参数是data, 关键字用字典的形式传进去,这 ...
- 【Python爬虫案例学习】Python爬取淘宝店铺和评论
安装开发需要的一些库 (1) 安装mysql 的驱动:在Windows上按win+r输入cmd打开命令行,输入命令pip install pymysql,回车即可. (2) 安装自动化测试的驱动sel ...
随机推荐
- 【题解】localmaxima 数论
# T749 localmaxima 权限限制没有超链接 题目描述 Description 给出一个排列,若其中一个数比它前面的数都大,则称为localmaxima数,求一个随机排列中localmax ...
- Python-对比两个目录中Excel文件
背景:我在5月20日收到了一批Excel文件数据,由于文件很多大约有将近5000个,已经通过编写python脚本处理完成.但是6月9日的时候,又收到了一批新的Excel数据.但是在处理过程中发现,本次 ...
- 数据权限筛选(RLS)的两种实现介绍
在应用程序中,尤其是在统计的时候, 需要使用数据权限来筛选数据行. 简单的说,张三看张三部门的数据, 李四看李四部门的数据:或者员工只能看自己的数据, 经理可以看部门的数据.这个在微软的文档中叫Row ...
- Docker 镜像针对不同语言的精简策略
导航: 这里分为几个部分. 相关转载云原生:米开朗基杨 1.Docker减小镜像体积 2.Docker镜像针对不同语言的精简策略 对于刚接触容器的人来说,他们很容易被自己制作的 Docker 镜像体积 ...
- 41.1、shell编程案例
1.案例1(表达式案例): 开发shell脚本分别实现以定义变量,脚本传参以及read读入的方式比较2个整数大小.用条件表达式(禁if) 进行判断并以屏幕输出的方式提醒用户比较结果: [root@ba ...
- 3、搭建 rsync备份服务器
yum install rsync -y rsync(873):数据同步,把一台服务器上的数据以何种权限同步到另一台服务器上,是linux 系统下的数据镜像备份工具.使用快速增量备份工具Remote ...
- Error in render: "TypeError: Cannot read property '' of undefined"
描述 在用Vue的时候出现了一个令人窒息的错误 报错显示 "avatar" 未定义,但在postman中测试返回的数据确实有"avatar",可是为什么未找到? ...
- 巧用SpringBoot扩展点EnvironmentPostProcessor
我们的项目是单体项目,使用的是springboot的框架,随着对接的外部服务越来越多,配置文件越来越臃肿..我们将对接的外部服务的代码单独抽离出来形成service依赖,之后以jar包的形式引入,这时 ...
- 暑假自学java第三天
1,java中有个c++中没有的数据类型 bite:byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1) 在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个 ...
- leetcode 861 翻转矩阵后的得分
1. 题目描述 2.思路分析: 1. 首先这里的翻转分为了行翻转和列翻转,我们这里只需要求如何翻转后得到最大值,有点贪心的思想,因为最大值一定是固定的 至于是什么路径到达的最大值不是我们所关心的,我们 ...