拒绝盗图!教你怎么用python给图片加水印


Posted in Python onJune 04, 2021

方式一:叠加文字水印

最简单的一种方式是,在图片上绘制半透明文本来实现水印效果。

拒绝盗图!教你怎么用python给图片加水印

主要用到Figure.text函数

参数 类型 说明
x, y float 叠加文本的位置坐标.,取值范围在 [0, 1]。
s str 文本字符串。
fontdict dict 可选 用于覆盖默认文本属性的字典。如果未给出,则默认值由 rcParams[“font.*”]确定。作为kwargs传递的属性,会覆盖fontdict 中给出的相应属性。

叠加文字水印的代码如下

import numpy as np
import matplotlib.pyplot as plt
%matplotlib qt5
# 绘制图表内容
fig, ax = plt.subplots()
ax.plot(np.random.rand(10), '-o', ms=10, lw=2, alpha=0.7)
ax.grid()

# 叠加水印文字,对文字沿轴旋转30°,透明度50%
ax.text(0.5, 0.5, 'created with https://blog.csdn.net/Bit_Coders/', transform=ax.transAxes,
        fontsize=20, color='gray', alpha=0.5,
        ha='center', va='center', rotation='30')

plt.show()

文本属性的相关参数详见:官方文档

方式二:叠加图片水印

图片水印可以叠加你设计好的logo、icon或者二维码图片。

下面以二维码为例,在图表上叠加你的博客二维码水印:

拒绝盗图!教你怎么用python给图片加水印

图片水印主要用到figimage函数

参数 类型 说明
X 图像数据 数组格式是以下三种之一, MxN:亮度(灰度)值,MxNx3:RGB 值,MxNx4:RGBA 值
xo,yo int 以像素为单位的x/y图像偏移量
alpha None or float 混合透明度
cmap str or matplotlib.colors.Colormap 使用的颜色图,默认值: rcParams[“image.cmap”] (default: ‘viridis')
resize bool 是否缩放figure来匹配给定的图片尺寸

1、生成二维码图片:在命令行用myqr生成对应

myqr https://blog.csdn.net/Bit_Coders

生成的二维码图片会保存到当前路径。

拒绝盗图!教你怎么用python给图片加水印

2、叠加图片水印,代码如下

import numpy as np
from PIL import Image
import matplotlib.image as image
import matplotlib.pyplot as plt
from matplotlib import cm

# 加载水印图片,并缩放到合适大小
resize_w = 100
img = Image.open('J:\Projects\PythonScripts\qrcode.png')
img = img.resize((resize_w,resize_w))

fig, ax = plt.subplots()

# 绘制图表内容
ax.plot(np.random.rand(10), '-o', ms=10, lw=2, alpha=0.7)
ax.grid()

# 确定叠加位置
nx = int(fig.get_figwidth() * fig.dpi)
ny = int(fig.get_figheight() * fig.dpi)
pos_x = nx - resize_w 
pos_y = 10

# 叠加图片水印
fig.figimage(img, pos_x,pos_y, alpha=.5)

plt.show()

到此这篇关于拒绝盗图!教你怎么用python给图片加水印的文章就介绍到这了,更多相关python给图片加水印内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现堆排序的方法详解
May 03 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
python实现对csv文件的列的内容读取
Jul 04 Python
Python实现爬取马云的微博功能示例
Feb 16 Python
详解Python sys.argv使用方法
May 10 Python
python写日志文件操作类与应用示例
Jul 01 Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
python能做什么 python的含义
Oct 12 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 Python
python百行代码自制电脑端网速悬浮窗的实现
May 12 Python
详解Python 函数参数的拆解
Sep 02 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Python OpenCV 图像平移的实现示例
Python包argparse模块常用方法
Jun 04 #Python
opencv读取视频并保存图像的方法
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 #Python
python opencv旋转图片的使用方法
Python还能这么玩之用Python修改了班花的开机密码
You might like
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP学习笔记之一
2011/01/17 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
Javascript之图片的延迟加载的实例详解
2017/07/24 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
django接入新浪微博OAuth的方法
2015/06/29 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python处理中文标点符号大集合
2018/05/14 Python
python实现抖音视频批量下载
2018/06/20 Python
python实现俄罗斯方块
2018/06/26 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
200行python代码实现2048游戏
2019/07/17 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
数控技术与应用毕业生自荐信
2013/09/24 职场文书
银行实习鉴定
2013/12/13 职场文书
12月小学生校园广播稿
2014/02/04 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
军训口号
2014/06/13 职场文书
专职安全员岗位职责
2015/04/11 职场文书
单位更名证明
2015/06/18 职场文书