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

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

一、前言

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

二、文字水印

在添加水印的时候,我们比较常用的就是文字水印。比如@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()
复制代码

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

目录
相关文章
|
7月前
批量获取图片(中)
批量获取图片(中)
77 0
|
7月前
批量获取图片(下)
批量获取图片(下)
71 0
|
7月前
|
iOS开发 MacOS Python
批量获取图片(上)
批量获取图片(上)
55 0
|
存储 数据安全/隐私保护 计算机视觉
PIL如何批量给图片添加文字水印?
PIL如何批量给图片添加文字水印?
69 1
|
数据安全/隐私保护
生活中常用的图片去水印方法有哪些呢
有时候我们想换头像/微信背景墙了 是不是第一时间想到的是去某书逛逛,有时候看到有些博主分享的壁纸或者表情包等,忍不住的想保存下来,很多人应该还不知道如何下载吧,今天分享我的三个操作方法
|
Python
【图片操作】批量生成缩略图
在我们日常生活中,缩略图很大程度减少了我们内存的使用。如果我们看一张图片就必须加载完成后才能看,那么我们就会发现很多应用都变慢了很多,而且流量也消耗的很快。今天我们就来看看Python生成缩略图的操作。
393 0
|
程序员 数据安全/隐私保护 iOS开发
一日一技:如何批量给PDF添加水印?
一日一技:如何批量给PDF添加水印?
479 0
一日一技:如何批量给PDF添加水印?
|
计算机视觉
【图片操作】生成动态图片
动态图片我们使用的还是比较频繁的,平时的表情包有很多动图。今天我们要做的就是自己制作动态图片,其实就是将视频转换成动图,操作起来非常简单。下面我们就来看看如何实现吧。
584 0
|
Web App开发 数据安全/隐私保护 索引
文档预览功能使用技巧(4)---图片水印
智能媒体管理提供了文档预览功能,通过快速搭建文章的介绍,详细描述了使用“文档转换 + JS 前端渲染引擎”实现文档预览的过程,本文将介绍预览功能中的 图片水印(wmType=2 和 wmValue=url 参数)技巧。
2184 0
|
Web App开发 存储 数据安全/隐私保护
文档预览功能使用技巧(3)---文字水印
智能媒体管理提供了文档预览功能,通过快速搭建文章的介绍,详细描述了使用“文档转换 + JS 前端渲染引擎” 实现文档预览的过程,本文将介绍预览功能中的文字水印技巧。
3346 0