拒绝盗图!教你怎么用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 18 Python
Python3中多线程编程的队列运作示例
Apr 16 Python
删除python pandas.DataFrame 的多重index实例
Jun 08 Python
详解Python绘图Turtle库
Oct 12 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
Nov 19 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
基于Python的身份证验证识别和数据处理详解
Nov 14 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
python 实现的车牌识别项目
Jan 25 Python
python爬取网页版QQ空间,生成各类图表
Jun 02 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Python OpenCV 图像平移的实现示例
Python包argparse模块常用方法
Jun 04 #Python
opencv读取视频并保存图像的方法
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 #Python
python opencv旋转图片的使用方法
Python还能这么玩之用Python修改了班花的开机密码
You might like
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
PHP strripos函数用法总结
2019/02/11 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
jQuery each和js forEach用法比较
2019/02/27 jQuery
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
详解python中list的使用
2019/03/15 Python
python assert的用处示例详解
2019/04/01 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
世界上最好的足球商店:Unisport
2019/03/02 全球购物
情侣吵架检讨书
2014/02/05 职场文书
竞选班长自荐书范文
2014/03/09 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
学校党支部承诺书
2015/04/30 职场文书
入党积极分子群众意见
2015/06/01 职场文书
七年级上册生物的课件
2019/08/07 职场文书
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS