拒绝盗图!教你怎么用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从入门到精通(DAY 2)
Dec 20 Python
Python脚本实现自动发带图的微博
Apr 27 Python
Python实现的文本对比报告生成工具示例
May 22 Python
python实现周期方波信号频谱图
Jul 21 Python
python实现Zabbix-API监控
Sep 17 Python
python中tkinter的应用:修改字体的实例讲解
Jul 17 Python
Django Rest framework解析器和渲染器详解
Jul 25 Python
python中sort和sorted排序的实例方法
Aug 26 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
10张动图学会python循环与递归问题
Feb 06 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Python OpenCV 图像平移的实现示例
Python包argparse模块常用方法
Jun 04 #Python
opencv读取视频并保存图像的方法
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 #Python
python opencv旋转图片的使用方法
Python还能这么玩之用Python修改了班花的开机密码
You might like
php获取地址栏信息的代码
2008/10/08 PHP
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
PHP加密解密函数详解
2015/10/28 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
理解javascript对象继承
2016/04/17 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
python遍历目录的方法小结
2016/04/28 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
python的中异常处理机制
2018/08/30 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
大学活动邀请函
2014/01/28 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
医学生自荐信范文
2015/03/05 职场文书
教师远程培训心得体会
2016/01/09 职场文书
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js