拒绝盗图!教你怎么用python给图片加水印

作者:虾米小馄饨 时间:2022-05-29 21:42:51 

方式一:叠加文字水印

最简单的一种方式是,在图片上绘制半透明文本来实现水印效果。

拒绝盗图!教你怎么用python给图片加水印

主要用到Figure.text函数

参数类型说明
x, yfloat叠加文本的位置坐标.,取值范围在 [0, 1]。
sstr文本字符串。
fontdictdict 可选用于覆盖默认文本属性的字典。如果未给出,则默认值由 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,yoint以像素为单位的x/y图像偏移量
alphaNone or float混合透明度
cmapstr or matplotlib.colors.Colormap使用的颜 * ,默认值: rcParams[“image.cmap”] (default: ‘viridis')
resizebool是否缩放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()

来源:https://blog.csdn.net/Bit_Coders/article/details/117436341

标签:python,图片,水印
0
投稿

猜你喜欢

  • onerror图片失效时显示其他图片

    2008-08-11 21:05:00
  • python TF-IDF算法实现文本关键词提取

    2022-10-08 16:06:25
  • 使用DIV+CSS设计网页的好处

    2007-10-14 15:02:00
  • Python绘制3d螺旋曲线图实例代码

    2022-12-22 01:30:23
  • 在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南

    2022-03-04 21:11:24
  • ASP基础教程:常用的 ASP ActiveX 组件

    2008-10-14 15:15:00
  • 再谈动态添加样式规则

    2009-09-02 13:10:00
  • Python使用当前时间、随机数产生一个唯一数字的方法

    2022-02-10 14:57:07
  • js实现圆形菜单选择器

    2023-09-23 19:50:54
  • php桥接模式的实例用法及代码分析

    2023-11-18 15:46:33
  • 巧用Dreamweaver MX设计导航栏特效

    2009-07-10 13:17:00
  • Python实现利用163邮箱远程关电脑脚本

    2023-08-29 10:08:08
  • php将ppt转jpg图片的具体步骤代码

    2023-06-12 21:53:33
  • 在子页中隐藏模板页中的div示例代码

    2023-07-23 12:12:28
  • Ajax的错误处理机制探讨

    2007-09-07 09:53:00
  • JMail(4.3版本)发信asp代码

    2007-08-03 12:40:00
  • asp伪静态情况下实现的utf-8文件缓存实现代码

    2011-02-24 10:49:00
  • django restframework serializer 增加自定义字段操作

    2023-12-17 20:36:10
  • 简单有效上手Python3异步asyncio问题

    2022-01-14 02:28:34
  • 深入了解Python的多线程基础

    2021-12-07 18:50:50
  • asp之家 网络编程 m.aspxhome.com