拒絕盜圖!教你怎么用python給圖片加水印
方式一:疊加文字水印
最簡單的一種方式是,在圖片上繪制半透明文本來實(shí)現(xiàn)水印效果。

主要用到Figure.text函數(shù)
| 參數(shù) | 類型 | 說明 |
| x, y | float | 疊加文本的位置坐標(biāo).,取值范圍在 [0, 1]。 |
| s | str | 文本字符串。 |
| fontdict | dict 可選 | 用于覆蓋默認(rèn)文本屬性的字典。如果未給出,則默認(rèn)值由 rcParams[“font.*”]確定。作為kwargs傳遞的屬性,會(huì)覆蓋fontdict 中給出的相應(yīng)屬性。 |
疊加文字水印的代碼如下
import numpy as np
import matplotlib.pyplot as plt
%matplotlib qt5
# 繪制圖表內(nèi)容
fig, ax = plt.subplots()
ax.plot(np.random.rand(10), '-o', ms=10, lw=2, alpha=0.7)
ax.grid()
# 疊加水印文字,對(duì)文字沿軸旋轉(zhuǎn)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()
文本屬性的相關(guān)參數(shù)詳見:官方文檔
方式二:疊加圖片水印
圖片水印可以疊加你設(shè)計(jì)好的logo、icon或者二維碼圖片。
下面以二維碼為例,在圖表上疊加你的博客二維碼水印:

圖片水印主要用到figimage函數(shù)
| 參數(shù) | 類型 | 說明 |
| X | 圖像數(shù)據(jù) | 數(shù)組格式是以下三種之一, MxN:亮度(灰度)值,MxNx3:RGB 值,MxNx4:RGBA 值 |
| xo,yo | int | 以像素為單位的x/y圖像偏移量 |
| alpha | None or float | 混合透明度 |
| cmap | str or matplotlib.colors.Colormap | 使用的顏色圖,默認(rèn)值: rcParams[“image.cmap”] (default: ‘viridis') |
| resize | bool | 是否縮放figure來匹配給定的圖片尺寸 |
1、生成二維碼圖片:在命令行用myqr生成對(duì)應(yīng)
myqr https://blog.csdn.net/Bit_Coders
生成的二維碼圖片會(huì)保存到當(dāng)前路徑。

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()
# 繪制圖表內(nèi)容
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()
到此這篇關(guān)于拒絕盜圖!教你怎么用python給圖片加水印的文章就介紹到這了,更多相關(guān)python給圖片加水印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中MySQL數(shù)據(jù)遷移到MongoDB腳本的方法
MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。本文給大家介紹Python中MySQL數(shù)據(jù)遷移到MongoDB腳本的方法,需要的朋友參考下2016-04-04
Python--模塊(Module)和包(Package)詳解
這篇文章主要介紹了Python中模塊(Module)和包(Package)的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-09-09
淺談Django QuerySet對(duì)象(模型.objects)的常用方法
這篇文章主要介紹了淺談Django QuerySet對(duì)象(模型.objects)的常用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
pyqt5、qtdesigner安裝和環(huán)境設(shè)置教程
這篇文章主要介紹了pyqt5、qtdesigner安裝和環(huán)境設(shè)置方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
Python實(shí)現(xiàn)批量解壓文件夾下所有壓縮包
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)批量解壓文件夾下所有壓縮包,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
利用Python校準(zhǔn)本地時(shí)間的方法教程
這篇文章主要給大家介紹了關(guān)于如何利用Python校準(zhǔn)本地時(shí)間的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10

