拒绝盗图!教你怎么用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爬虫技巧汇总
Sep 28 Python
Python探索之SocketServer详解
Oct 28 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
python requests爬取高德地图数据的实例
Nov 10 Python
python+pyqt5实现24点小游戏
Jan 24 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 Python
python中time库的实例使用方法
Oct 31 Python
什么是Python中的匿名函数
Jun 02 Python
python使用QQ邮箱实现自动发送邮件
Jun 22 Python
Python如何读写CSV文件
Aug 13 Python
python中doctest库实例用法
Dec 31 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Python OpenCV 图像平移的实现示例
Python包argparse模块常用方法
Jun 04 #Python
opencv读取视频并保存图像的方法
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 #Python
python opencv旋转图片的使用方法
Python还能这么玩之用Python修改了班花的开机密码
You might like
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
php cli 小技巧
2013/06/03 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
WordPress JQuery处理沙发头像
2009/06/22 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
Javascript 面向对象 命名空间
2010/05/13 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
python 队列详解及实例代码
2016/10/18 Python
Django实现快速分页的方法实例
2017/10/22 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
python实现飞机大战游戏
2020/10/26 Python
python安装gdal的两种方法
2019/10/29 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
大学本科毕业生的自我鉴定
2013/11/26 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
JUnit5常用注解的使用
2021/07/02 Java/Android