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

作者:ZackSock 时间:2021-11-04 17:53:12 

一、前言

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

二、文字水印

在添加水印的时候,我们比较常用的就是文字水印。比如@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批量添加图片水印的实现

来源:https://blog.csdn.net/ZackSock/article/details/120573749

标签:Python,图片水印
0
投稿

猜你喜欢

  • python matplotlib自定义colorbar颜色条及内置色条详解

    2023-04-03 16:50:34
  • Python探索之自定义实现线程池

    2021-10-09 08:28:11
  • Python中切片的详细操作篇

    2021-11-29 13:33:26
  • 菜鸟来看看:制作个人主页有诀窍

    2007-10-05 09:03:00
  • python 中赋值,深拷贝,浅拷贝的区别

    2022-11-15 09:35:44
  • ORACLE8的分区管理

    2023-07-13 14:42:43
  • 百万级asp分页存储过程代码(ver2.0)

    2007-12-17 13:13:00
  • python线程、进程和协程详解

    2023-03-02 14:00:39
  • 解决django中ModelForm多表单组合的问题

    2021-06-03 04:13:14
  • PHP截取指定图片大小的方法

    2023-09-11 13:20:21
  • Oracle9iPL/SQL编程的经验小结

    2010-07-23 12:49:00
  • textarea的输入限制统计代码statInput

    2008-05-22 13:36:00
  • 彻底弄清楚haslayout概念

    2009-10-27 10:46:00
  • Python实现多个视频合成一个视频的功能

    2021-10-31 12:57:44
  • 详解pandas使用drop_duplicates去除DataFrame重复项参数

    2021-09-12 12:36:26
  • python爬虫之selenium库的安装及使用教程

    2021-04-22 20:20:46
  • python DataFrame数据格式化(设置小数位数,百分比,千分位分隔符)

    2021-02-03 21:34:10
  • JavaScript加密解密终级指南

    2008-01-03 12:25:00
  • PHP实现批量生成App各种尺寸Logo

    2023-07-23 03:59:59
  • Window.Open详解

    2008-06-08 13:43:00
  • asp之家 网络编程 m.aspxhome.com