清华学长教你用Python 批量加水印只需一行命令!
工作的时候,尤其是自媒体工作者,必备水印添加工具以保护知识产权,网上有许多的在线/下载的水印添加工具,但他们或多或少都存在以下问题:
1. 在线工具需要将图片上传到对方服务器,信息不安全。
2. 很多工具不具备批量处理功能。
3. 很多工具自定义的功能太少,如水印透明度,字体等。
4. 操作繁琐。
现在只要你会使用命令,我们就能教大家怎么使用Python超级简单地为图片添加水印,而且具备以下特点:
1. 支持自定义水印字体。
2. 支持自定义文本内容、颜色。
3. 支持批量处理。
4. 支持设定水印与水印之间的空间。
5. 支持设定水印字体大小。
6. 支持设定透明度。
7. 自己的代码,安全。
我们需要使用的是2Dou的开源项目:
https://github.com/2Dou/watermarker
非常有用的开源项目,感谢原作者。
有三种方法可以下载这个项目:
1. 如果你的网络可以上github,你可以进入该页面,点击clone or download 然后点击Download Zip.
2. 如果你有下载git,可以用cmd/terminal进入你想放置的文件夹,输入命令:
git clone https://github.com/2Dou/watermarker.git
3. 如果你都没有,可以直接在 Python实用宝典 公众号后台回复 水印 下载本文完整修复版代码。
下载解压到你想要放置的任意一个文件夹下。路径中最好不要带中文名,如果你是用前两种方法下载的,而且是windows系统用户,注意要把该项目的字体文件名改为英文,另外marker.py里也有一个地方需要改动,如下:
将font文件夹里的 青鸟华光简琥珀.ttf 改为 bird.ttf, 什么名字不重要,重点是不要用中文名,否则pillow会无法使用改文件。
注意marker.py文件里的第十行要改成相应的名字,与font文件夹下的字体文件名相对应。
刚刚我们提到了pillow这个库,这个包的运行需要使用到这个第三方库,它是专门用来处理图像的,打开CMD/Terminal, 输入以下命令即可安装:
安装完毕后,我们可以试一下!最普通的例子如下,将你所需要加水印的图片放在该项目的input文件夹下,然后在cmd/Terminal中进入你存放该项目的文件夹输入以下命令:
python marker.py -f ./input/baby.jpg -m python实用宝典
各个参数的含义如下:
-f 文件路径:是你的图片的路径
-m 文本内容:是你想要打的水印的内容
参数不设置则为默认值,运行完毕后会在output文件夹下出现相应的加了水印的图片,效果如下:
添加水印
默认水印的颜色是...屎黄色的?
但是没关系,我们可以修改它的颜色,添加-c参数即可!(参数默认格式为 #号后加6位16进制),利用图像工具,我们可以找到你喜欢的颜色的值:
然后我们输入命令:
python marker.py -f ./input/baby.jpg -m python实用宝典 -c #232862
成功了!看看效果:
修改水印颜色
恩!变好看了,但是好像水印的颜色有点深,我们可以修改一下透明度让它变浅一点,默认的透明度为0.15,可以让这个值变得更小,设定opacity参数:
python marker.py -f ./input/baby.jpg -m python实用宝典 -c #232862 --opacity 0.08
结果如下:
水印变得更透明
其实还有其他参数可以,我们就不一一展示了,一共有这些参数:
-f 参数,指定打水印的文件,如果你想打印整个文件夹,则输入该文件夹路径即可。
-m 参数,指定水印内容。
-o 参数,指定输出水印文件的位置,默认为output文件夹。
-c 参数,指定水印的颜色,默认值为shi..啊不,黄色,#8B8B1B.
-s 参数,指定水印与水印之间的空隙,默认值为75.
-a 参数,指定水印的旋转角度,我们的例子中都是默认值30度。
--size参数,指定水印文本字体大小,默认值为50。
--opacity参数,指定透明度,默认为0.15,数值越小越透明。
接下来给大家试试批量处理功能,首先把所有图片放置到项目的input文件夹下:
然后输入命令里,指定文件夹即可!
python marker.py -f ./input -m python实用宝典 -c #232862 --o
你会看到input文件夹名后没有/baby.jpg了,这表明将input文件夹下所有的图片打水印。
看到 文件名 succes 则说明批处理成功!
还有一个隐藏功能!如果你想要修改字体也可以哦!还记得我们前面怎么修复windows的中文名问题吗?如图,你只要将新的字体文件放到font文件夹下,然后修改TTF_FONT变量里的字体名字,与font文件夹下的新字体名字相对应即可改成你想要的字体了!
修改字体
我们的文章到此就结束啦,如果你希望我们今天的Python教程,请持续关注我们,如果对你有帮助,麻烦在留言区给个三连哦!
需要想python资料的可以扫一扫备注【python】
清华学长教你用Python 批量加水印只需一行命令!相关推荐
- Python 批量加水印只需一行命令
工作的时候,尤其是自媒体工作者,必备水印添加工具以保护知识产权,网上有许多的在线/下载的水印添加工具,但他们或多或少都存在以下问题: 1. 在线工具需要将图片上传到对方服务器,信息不安全. 2. 很多 ...
- Python 批量加水印只需一行命令!
工作的时候,尤其是自媒体工作者,必备水印添加工具以保护知识产权,网上有许多的在线/下载的水印添加工具,但他们或多或少都存在以下问题: 1. 在线工具需要将图片上传到对方服务器,信息不安全. 2. 很多 ...
- Python 批量加水印就这么简单!
** Python 批量加水印就这么简单! ** 工作的时候,尤其是自媒体,我们必备水印添加工具以保护我们的知识产权图片,网上有许多的在线/下载的水印添加工具,但他们或多或少都存在以下问题: 在线工具 ...
- 用 Python 批量加水印
有时候,为了保护版权,需要给作品中的图片加上水印. 一种是把水印(logo)加在图片的一个角落,就像有的是微信公众号会在后台把水印打开. 更厉害的一种是,水印在整个图上有很多,有个轻微的透明度,更安全 ...
- 【Python】Modin,只需一行代码加速你的Pandas
本文翻译自:Shrivarsheni的博客 Modin是一个Python第三方库,可以通过并行来处理大数据集.它的语法和pandas非常相似,因其出色的性能,能弥补Pandas在处理大数据上的缺陷. ...
- 只需一行Python代码即可玩20几款小游戏
今天分享一个有趣的 github 项目:https://github.com/kingser/free-python-games,通过该项目,我们只需一行代码即可玩 20 几款小游戏,下面具体来看一下 ...
- 手把手教你用Python批量实现在Excel后里面新加一列,并且内容为excel 表名(附源码)...
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 打起黄莺儿,莫教枝上啼. 大家好, ...
- python pdf 加水印_Python批量给PDF加水印,10秒搞定“不可编辑”的PDF!
在日常的工作中,我们经常需要和PDF文件打交道,PDF的处理,比如修改文字.增减页面等,都是非常麻烦的,相信大家有共同的感受. 有时我们还需要对PDF添加水印,野生的PDF工具都是给单个PDF添加水印 ...
- Python实用案例,Python脚本,Python实现批量加水印
往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 Python实现每日更换"必应图片"为"桌 ...
最新文章
- 如何在GridView中使用DataFromatString [转]
- 从LXMERT到VLMO:多模态预训练模型的演变史
- 造成OOM的原因有哪几种?
- VMware产品演示网站
- IBM行贿案凸显外企在华的非正常之道
- python defaultdict tree_python – 从非空的defaultdict中挑选一个随机元素
- 微信小程序最基本代码入门
- 机器人影视对接_机器学习对接会
- 《通关!游戏设计之路》笔记(未整理完)
- 简单使用触发器(详细) SQL触发器的使用及语法
- 不卡顿成用户购机第一要素,Mate 9深得人心
- (转)Java用native2ascii命令做unic…
- VNC登陆灰屏 - fatal IO error 11 (Resource temporarily unavailable) on X server
- docker: Error response from daemon: driver failed programming external connectivity on endpoint mys
- 股票量化分析(11)——第二个策略(5日移动均线、双均线、MACD策略)
- 算法竞赛入门经典 UVa815 Flooded!
- acl审计软件_审计软件有哪些-审计软件的总结分析
- 对比 GA 、PSO 、DE三种算法 求解连续优化问题的性能
- wordpress 背景_如何为您的WordPress网站找到美丽的背景图像
- VMware精简系统Win系列|体积更小更稳定
热门文章
- pandas使用sum函数计算dataframe单数据列的加和或者对所有的数据列进行求和(sum column or all columns of dataframe)
- python使用matplotlib可视化、自定义设置Y轴刻度标签字体的大小( setting axis ticks size in matplotlib y axis)
- R语言IQR函数计算四分位数范围IQR(Interquartile Range)实战
- ModuleNotFoundError: No module named ‘pandas.rpy‘
- R语言主成分分析(Principle Component Analysis、PCA)
- AIC+BIC+HQ+赤池信息量+贝叶斯信息量
- PACBIO:经历9件大事,终获一致认可?
- 实体链接中使用实体一致性信息(coherence)
- apache php 执行shell,PHP执行普通shell命令流程解析
- sysbench tpcc-mysql_使用sysbench来测试MySQL性能的详细教程