脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python批量添加图片水印的实现

Python批量添加图片水印的实现

2022-09-07 09:46ZackSock Python

水印在很多时候都会使用的到,本文主要介绍了Python批量添加图片水印的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、前言

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

二、文字水印

在添加水印的时候,我们比较常用的就是文字水印。比如@ZackSock@juejin:ZackSock等。这种水印的添加非常简单,只需要使用到Pillow模块的添加文字的操作即可,代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
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()

这里需要注意几个地方,第一个就是水印大小。水印大小也就是文字大小,这个是由:

?
1
font = ImageFont.truetype('msyh.ttc', 60)

中第二个参数决定的,因此我们可以通过调节该参数调整水印大小。
第二点就是水印位置和水印颜色,这个就是通过:

?
1
drawer.text((0, 0), text, (0, 255, 0), font)

中第一个和第三个参数决定的,其中(0,0)表示水印左上角的坐标,而(0,255,0)表示水印的RGB值,具体调节可以参考RGB配色表。

三、图片水印

文字水印使用起来比较方便,但是有时候我们更习惯将有代表性的logo作为水印,这个时候就可以图片水印了,代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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批量添加图片水印的实现的文章就介绍到这了,更多相关Python批量添加图片水印内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/ZackSock/article/details/120573749

延伸 · 阅读

精彩推荐
  • Pythonpython执行系统命令4种方法与比较

    python执行系统命令4种方法与比较

    这篇文章主要介绍了python执行系统命令4种方法与比较,需要的朋友可以参考下...

    脚本之家12082021-10-03
  • Pythonpython ddt实现数据驱动

    python ddt实现数据驱动

    这篇文章主要为大家详细介绍了python ddt实现数据驱动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    nancy056712021-01-21
  • PythonPython实现的井字棋(Tic Tac Toe)游戏示例

    Python实现的井字棋(Tic Tac Toe)游戏示例

    这篇文章主要介绍了Python实现的井字棋(Tic Tac Toe)游戏,结合实例形式分析了井字棋的原理及Python相关实现技巧,需要的朋友可以参考下...

    罗兵13612021-01-10
  • PythonPython通过future处理并发问题

    Python通过future处理并发问题

    这篇文章主要介绍了Python通过future处理并发问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下...

    python修行路2922020-12-11
  • Pythonpython微信公众号之关键词自动回复

    python微信公众号之关键词自动回复

    这篇文章主要为大家详细介绍了python微信公众号之关键词自动回复,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    张治杰7312021-03-05
  • PythonPython pandas常用函数详解

    Python pandas常用函数详解

    这篇文章主要介绍了Python pandas常用函数详解,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下...

    Rex_Blog15872021-01-13
  • Pythonpython多进程基础详解

    python多进程基础详解

    这篇文章主要介绍了Python多进程基础,结合实例形式分析了Python多进程原理、开启使用进程、进程队列、进程池等相关概念与使用方法,需要的朋友可以参考...

    七层汉堡王9602022-01-21
  • Python详解python使用Nginx和uWSGI来运行Python应用

    详解python使用Nginx和uWSGI来运行Python应用

    这篇文章主要介绍了详解python使用Nginx和uWSGI来运行Python应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Erick-LONG12592021-01-03