拒绝盗图!教你怎么用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和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
Python中的yield浅析
Jun 16 Python
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
Python中文件I/O高效操作处理的技巧分享
Feb 04 Python
python MySQLdb使用教程详解
Mar 20 Python
使用numba对Python运算加速的方法
Oct 15 Python
python操作excel让工作自动化
Aug 09 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Python OpenCV 图像平移的实现示例
Python包argparse模块常用方法
Jun 04 #Python
opencv读取视频并保存图像的方法
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 #Python
python opencv旋转图片的使用方法
Python还能这么玩之用Python修改了班花的开机密码
You might like
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
Python设置默认编码为utf8的方法
2016/07/01 Python
Python基于pillow判断图片完整性的方法
2016/09/18 Python
详解python中的文件与目录操作
2017/07/11 Python
Sanic框架Cookies操作示例
2018/07/17 Python
python实现微信防撤回神器
2019/04/29 Python
Python当中的array数组对象实例详解
2019/06/12 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
解析python的局部变量和全局变量
2019/08/15 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
Python sorted对list和dict排序
2020/06/09 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
python入门教程之基本算术运算符
2020/11/13 Python
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
中软国际Java程序员机试题
2012/08/19 面试题
航海技术专业毕业生求职信
2014/04/06 职场文书
就业协议书怎么填
2014/04/11 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
检讨书范文
2015/01/27 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书