Python批量添加图片水印的实现
一、前言
现在盗图是非常常见的事情,许多人在使用图片时都不会标注图片的出处或者提及作者,这个时候水印就是个很好的东西了。我们可以给图片添加水印后再分享出去,这样就可以让其它人知道图片作者相关的信息。今天我们就带大家来实现水印的添加。
二、文字水印
在添加水印的时候,我们比较常用的就是文字水印。比如@ZackSock
、@juejin:ZackSock
等。这种水印的添加非常简单,只需要使用到Pillow
模块的添加文字的操作即可,代码如下:
from PIL import Image, ImageFont, ImageDraw # 加载字体 font = ImageFont.truetype('msyh.ttc', 60) # 加载图片 im = Image.open('im.jpg') # 创建画笔 drawer = ImageDraw.Draw(im) # 准备文本 text = '@ZackSock' # 绘制文本 drawer.text((0, 0), text, (0, 255, 0), font) im.show()
这里需要注意几个地方,第一个就是水印大小。水印大小也就是文字大小,这个是由:
font = ImageFont.truetype('msyh.ttc', 60)
中第二个参数决定的,因此我们可以通过调节该参数调整水印大小。
第二点就是水印位置和水印颜色,这个就是通过:
drawer.text((0, 0), text, (0, 255, 0), font)
中第一个和第三个参数决定的,其中(0,0)表示水印左上角的坐标,而(0,255,0)表示水印的RGB值,具体调节可以参考RGB配色表。
三、图片水印
文字水印使用起来比较方便,但是有时候我们更习惯将有代表性的logo作为水印,这个时候就可以图片水印了,代码如下:
from PIL import Image im = Image.open('origin.png').convert('RGBA') watermark = Image.open('watermark.png').convert('RGBA') w, h = im.size watermark.thumbnail((w//6, h//6)) r, g, b, a = watermark.split() # 获取水印尺寸 w2, h2 = watermark.size # 计算位置 x = w-w2 y = h-h2 # 粘贴 im.paste(watermark, (x, y), mask=a) im.show()
效果图如下:
到此这篇关于Python批量添加图片水印的实现的文章就介绍到这了,更多相关Python批量添加图片水印内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
这篇文章主要介绍了scrapy与selenium结合爬取数据的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09利用Python中的mock库对Python代码进行模拟测试
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下2015-04-04Python利用xlrd 与 xlwt 模块操作 Excel
这篇文章主要介绍了Python利用xlrd 与 xlwt 模块操作 Excel,文章围绕主题展开详细的内容,具有一定的参考价值,需要的小伙伴可以参考一下2022-05-05Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用
csv文件是一种逗号分隔的纯文本形式存储的表格数据,Python内置了CSV模块,可直接通过该模块实现csv文件的读写操作,下面这篇文章主要给大家介绍了关于Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用,需要的朋友可以参考下2022-09-09Python 提取出SQL语句中Where的值两种方法(示例代码)
为了提取SQL语句中WHERE子句的值,我们可以利用Python的sqlparse库,这是一个专门用于解析SQL语句的库,这篇文章主要介绍了Python 提取出SQL语句中Where的值的方法,需要的朋友可以参考下2024-08-08
最新评论