拒绝盗图!教你怎么用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使用新浪微博API发送微博的例子
Apr 10 Python
举例讲解Python中的死锁、可重入锁和互斥锁
Nov 05 Python
Django实现简单分页功能的方法详解
Dec 05 Python
python使用itchat实现手机控制电脑
Feb 22 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
pandas的qcut()方法详解
Jul 06 Python
python3.7 的新特性详解
Jul 25 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
Django 框架模型操作入门教程
Nov 05 Python
python如何写个俄罗斯方块
Nov 06 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Python OpenCV 图像平移的实现示例
Python包argparse模块常用方法
Jun 04 #Python
opencv读取视频并保存图像的方法
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 #Python
python opencv旋转图片的使用方法
Python还能这么玩之用Python修改了班花的开机密码
You might like
MySQL中create table语句的基本语法是
2007/01/15 PHP
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
PHP使用递归生成文章树
2015/04/21 PHP
php实现简单加入购物车功能
2017/03/07 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
python tornado微信开发入门代码
2018/08/24 Python
详解python中sort排序使用
2019/03/23 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
比较基础的php面试题及答案-编程题
2012/10/14 面试题
税务会计岗位职责
2014/02/18 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
工作岗位职责范本
2015/02/15 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
地心历险记观后感
2015/06/15 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python