工作的时候,尤其是自媒体工作者,必备水印添加工具以保护知识产权,网上有许多的在线/下载的水印添加工具,但他们或多或少都存在以下问题:

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

结果如下:

水印变得更透明

其实还有其他参数可以,我们就不一一展示了,一共有这些参数:

  1. -f 参数,指定打水印的文件,如果你想打印整个文件夹,则输入该文件夹路径即可。

  2. -m 参数,指定水印内容。

  3. -o 参数,指定输出水印文件的位置,默认为output文件夹。

  4. -c 参数,指定水印的颜色,默认值为shi..啊不,黄色,#8B8B1B.

  5. -s 参数,指定水印与水印之间的空隙,默认值为75.

  6. -a 参数,指定水印的旋转角度,我们的例子中都是默认值30度。

  7. --size参数,指定水印文本字体大小,默认值为50。

  8. --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 批量加水印只需一行命令!相关推荐

  1. Python 批量加水印只需一行命令

    工作的时候,尤其是自媒体工作者,必备水印添加工具以保护知识产权,网上有许多的在线/下载的水印添加工具,但他们或多或少都存在以下问题: 1. 在线工具需要将图片上传到对方服务器,信息不安全. 2. 很多 ...

  2. Python 批量加水印只需一行命令!

    工作的时候,尤其是自媒体工作者,必备水印添加工具以保护知识产权,网上有许多的在线/下载的水印添加工具,但他们或多或少都存在以下问题: 1. 在线工具需要将图片上传到对方服务器,信息不安全. 2. 很多 ...

  3. Python 批量加水印就这么简单!

    ** Python 批量加水印就这么简单! ** 工作的时候,尤其是自媒体,我们必备水印添加工具以保护我们的知识产权图片,网上有许多的在线/下载的水印添加工具,但他们或多或少都存在以下问题: 在线工具 ...

  4. 用 Python 批量加水印

    有时候,为了保护版权,需要给作品中的图片加上水印. 一种是把水印(logo)加在图片的一个角落,就像有的是微信公众号会在后台把水印打开. 更厉害的一种是,水印在整个图上有很多,有个轻微的透明度,更安全 ...

  5. 【Python】Modin,只需一行代码加速你的Pandas

    本文翻译自:Shrivarsheni的博客 Modin是一个Python第三方库,可以通过并行来处理大数据集.它的语法和pandas非常相似,因其出色的性能,能弥补Pandas在处理大数据上的缺陷. ...

  6. 只需一行Python代码即可玩20几款小游戏

    今天分享一个有趣的 github 项目:https://github.com/kingser/free-python-games,通过该项目,我们只需一行代码即可玩 20 几款小游戏,下面具体来看一下 ...

  7. 手把手教你用Python批量实现在Excel后里面新加一列,并且内容为excel 表名(附源码)...

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 打起黄莺儿,莫教枝上啼. 大家好, ...

  8. python pdf 加水印_Python批量给PDF加水印,10秒搞定“不可编辑”的PDF!

    在日常的工作中,我们经常需要和PDF文件打交道,PDF的处理,比如修改文字.增减页面等,都是非常麻烦的,相信大家有共同的感受. 有时我们还需要对PDF添加水印,野生的PDF工具都是给单个PDF添加水印 ...

  9. Python实用案例,Python脚本,Python实现批量加水印

    往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 Python实现每日更换"必应图片"为"桌 ...

最新文章

  1. 如何在GridView中使用DataFromatString [转]
  2. 从LXMERT到VLMO:多模态预训练模型的演变史
  3. 造成OOM的原因有哪几种?
  4. VMware产品演示网站
  5. IBM行贿案凸显外企在华的非正常之道
  6. python defaultdict tree_python – 从非空的defaultdict中挑选一个随机元素
  7. 微信小程序最基本代码入门
  8. 机器人影视对接_机器学习对接会
  9. 《通关!游戏设计之路》笔记(未整理完)
  10. 简单使用触发器(详细) SQL触发器的使用及语法
  11. 不卡顿成用户购机第一要素,Mate 9深得人心
  12. (转)Java用native2ascii命令做unic…
  13. VNC登陆灰屏 - fatal IO error 11 (Resource temporarily unavailable) on X server
  14. docker: Error response from daemon: driver failed programming external connectivity on endpoint mys
  15. 股票量化分析(11)——第二个策略(5日移动均线、双均线、MACD策略)
  16. 算法竞赛入门经典 UVa815 Flooded!
  17. acl审计软件_审计软件有哪些-审计软件的总结分析
  18. 对比 GA 、PSO 、DE三种算法 求解连续优化问题的性能
  19. wordpress 背景_如何为您的WordPress网站找到美丽的背景图像
  20. VMware精简系统Win系列|体积更小更稳定

热门文章

  1. pandas使用sum函数计算dataframe单数据列的加和或者对所有的数据列进行求和(sum column or all columns of dataframe)
  2. python使用matplotlib可视化、自定义设置Y轴刻度标签字体的大小( setting axis ticks size in matplotlib y axis)
  3. R语言IQR函数计算四分位数范围IQR(Interquartile Range)实战
  4. ModuleNotFoundError: No module named ‘pandas.rpy‘
  5. R语言主成分分析(Principle Component Analysis、PCA)
  6. AIC+BIC+HQ+赤池信息量+贝叶斯信息量
  7. PACBIO:经历9件大事,终获一致认可?
  8. 实体链接中使用实体一致性信息(coherence)
  9. apache php 执行shell,PHP执行普通shell命令流程解析
  10. sysbench tpcc-mysql_使用sysbench来测试MySQL性能的详细教程