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

主要用到Figure.text函數(shù)
| 參數(shù) | 類型 | 說(shuō)明 |
| 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ù)詳見(jiàn):官方文檔
方式二:疊加圖片水印
圖片水印可以疊加你設(shè)計(jì)好的logo、icon或者二維碼圖片。
下面以二維碼為例,在圖表上疊加你的博客二維碼水印:

圖片水印主要用到figimage函數(shù)
| 參數(shù) | 類型 | 說(shuō)明 |
| 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來(lái)匹配給定的圖片尺寸 |
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)文章
Python3.5實(shí)現(xiàn)的羅馬數(shù)字轉(zhuǎn)換成整數(shù)功能示例
這篇文章主要介紹了Python3.5實(shí)現(xiàn)的羅馬數(shù)字轉(zhuǎn)換成整數(shù)功能,涉及Python字符串遍歷與數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
教你怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試
今天帶大家學(xué)習(xí)怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試,文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
聊聊Numpy.array中[:]和[::]的區(qū)別在哪
這篇文章主要介紹了在Numpy.array中[:]和[::]的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Anaconda配置pytorch-gpu虛擬環(huán)境的圖文教程
這篇文章主要介紹了Anaconda配置pytorch-gpu虛擬環(huán)境步驟整理,本文分步驟通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
python使用mysql數(shù)據(jù)庫(kù)示例代碼
本篇文章主要介紹了python使用mysql數(shù)據(jù)庫(kù)示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
python爬蟲(chóng)搭配起B(yǎng)ilibili唧唧的流程分析
這篇文章主要介紹了python爬蟲(chóng)搭配起B(yǎng)ilibili唧唧的流程分析,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
基于Django實(shí)現(xiàn)日志記錄報(bào)錯(cuò)信息
這篇文章主要介紹了基于Django實(shí)現(xiàn)日志記錄報(bào)錯(cuò)信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12

