拒绝盗图!教你怎么用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操作mysql中文显示乱码的解决方法
Oct 11 Python
Python获取Linux系统下的本机IP地址代码分享
Nov 07 Python
浅谈Python 的枚举 Enum
Jun 12 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
用python写扫雷游戏实例代码分享
May 27 Python
python读取Excel实例详解
Aug 17 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
May 09 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
如何基于线程池提升request模块效率
Apr 18 Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 Python
关于Python错误重试方法总结
Jan 03 Python
Python基础之进程详解
May 21 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Python OpenCV 图像平移的实现示例
Python包argparse模块常用方法
Jun 04 #Python
opencv读取视频并保存图像的方法
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 #Python
python opencv旋转图片的使用方法
Python还能这么玩之用Python修改了班花的开机密码
You might like
PHP新手上路(九)
2006/10/09 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
基于empty函数的输出详解
2013/06/17 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
input框中的name和id的区别
2016/11/16 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python多图片合并PDF的方法
2019/01/03 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
keras之权重初始化方式
2020/05/21 Python
Python中如何引入第三方模块
2020/05/27 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
Keras自定义IOU方式
2020/06/10 Python
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
冰峪沟导游词
2015/02/09 职场文书
详解php中流行的rpc框架
2021/05/29 PHP