【图片操作】批量添加图片水印

简介: 现在盗图是非常常见的事情,许多人在使用图片时都不会标注图片的出处或者提及作者,这个时候水印就是个很好的东西了。我们可以给图片添加水印后再分享出去,这样就可以让其它人知道图片作者相关的信息。今天我们就带大家来实现水印的添加。

一、前言

现在盗图是非常常见的事情,许多人在使用图片时都不会标注图片的出处或者提及作者,这个时候水印就是个很好的东西了。我们可以给图片添加水印后再分享出去,这样就可以让其它人知道图片作者相关的信息。今天我们就带大家来实现水印的添加。

二、文字水印

在添加水印的时候,我们比较常用的就是文字水印。比如@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')
watermark = Image.open('watermark.png')
w, h = im.size
watermark.thumbnail((w//6, h//6))
# 获取水印尺寸
w2, h2 = watermark.size
# 计算位置
x = w-w2
y = h-h2
# 粘贴
im.paste(watermark, (x, y))
im.show()
复制代码

实现效果如下:

网络异常,图片无法展示
|
这里主要就是调用了 paste方法,它用来粘贴图片。我们把水印调整好大小后粘贴到原图上即可。 另外如果是用透明图片作为水印的话上面的代码是有问题的,我们可以修改为如下:

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()
复制代码

我们修改后透明图片也能正常粘贴了。

目录
相关文章
爬取图片,以及对图片筛选,以及切换系统背景图片
爬取图片,以及对图片筛选,以及切换系统背景图片
|
9月前
|
文字识别 测试技术 数据安全/隐私保护
案例:批量区域识别内容重命名,批量识别扫描PDF区域内容识别重命名,批量识别图片区域内容重命名图片修改图片名字,批量识别图片区域文字并重命名,批量图片部分识别内容重命文件,PDF区域内容提取重命名
该内容介绍了如何使用区域识别重命名软件高效整理图片,例如将图片按时间及内容重命名,适用于简历、单据等识别。文中提供了软件下载链接(百度云盘和腾讯网盘),并列出软件使用的几个关键条件,包括文字清晰、文件名长度限制等。示例展示了银行单据和公司工作单据的识别情况。文章还提及OCR技术在图片文字识别中的应用,强调了识别率、误识率和用户友好性等评估指标。如有类似需求,读者可留言或下载软件测试,并提供图片以获取定制的识别方案。
428 2
|
存储 数据安全/隐私保护 计算机视觉
PIL如何批量给图片添加文字水印?
PIL如何批量给图片添加文字水印?
77 1
|
JavaScript
jQuery动态拼接多张图片并且获取每张图片名称
jQuery动态拼接多张图片并且获取每张图片名称
72 1
|
Python
【图片操作】批量生成缩略图
在我们日常生活中,缩略图很大程度减少了我们内存的使用。如果我们看一张图片就必须加载完成后才能看,那么我们就会发现很多应用都变慢了很多,而且流量也消耗的很快。今天我们就来看看Python生成缩略图的操作。
414 0
|
JavaScript
原生js实现图片单张上传及批量上传
原生js实现图片单张上传及批量上传
|
Web App开发 数据安全/隐私保护 索引
文档预览功能使用技巧(4)---图片水印
智能媒体管理提供了文档预览功能,通过快速搭建文章的介绍,详细描述了使用“文档转换 + JS 前端渲染引擎”实现文档预览的过程,本文将介绍预览功能中的 图片水印(wmType=2 和 wmValue=url 参数)技巧。
2205 0
|
Web App开发 存储 数据安全/隐私保护
文档预览功能使用技巧(3)---文字水印
智能媒体管理提供了文档预览功能,通过快速搭建文章的介绍,详细描述了使用“文档转换 + JS 前端渲染引擎” 实现文档预览的过程,本文将介绍预览功能中的文字水印技巧。
3361 0
|
前端开发 Android开发 数据安全/隐私保护
Android图片添加文字水印并保存水印文字图片到指定文件
Android图片添加文字水印并保存水印文字图片到指定文件 package zhangphil.test; import android.
2955 0