Python使用Pillow添加水印
本文實(shí)例為大家分享了Python使用Pillow添加水印的具體代碼,供大家參考,具體內(nèi)容如下
python數(shù)據(jù)分析得到的圖片,并對(duì)照片添加水印pillow
PIL包含在pillow中,所以如果要從PIL導(dǎo)入相關(guān)庫(kù)需要安裝pillow
# install? pip install pillow
安裝完之后就可以下面的頭文件來(lái)操作了
from PIL import Image, ImageDraw
采用函數(shù)式編程:
#!/usr/bin/python from PIL import Image, ImageDraw from matplotlib import pyplot as plt, font_manager # 保存通過(guò)數(shù)據(jù)分析得到的圖片 def save_img(): ?? ?# mac系統(tǒng)下查詢包含中文字體的方式是命令fc-list :lang=zh ?? ?my_font = font_manager.FontProperties(?? ??? ?fname="/System/Library/Assets/com_apple_MobileAsset_Font5/b2d7b382c0fbaa5777103242eb048983c40fb807.asset/AssetData/Kaiti.ttc") ?? ?x = [i for i in range(11, 31)] ?? ?y_1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1] ?? ?y_2 = [0, 0, 0, 1, 2, 4, 3, 2, 3, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] ?? ?# 做出兩個(gè)圖,分別包括的是自己和同桌的每個(gè)年齡點(diǎn)交的女朋友數(shù)量 ?? ?plt.plot(x, y_1, label="自己", color="cyan", linestyle="--") ?? ?plt.plot(x, y_2, label="同桌", color="r") ?? ? ?? ?_xtick_labels = ["{}歲".format(i) for i in x] ?? ?plt.title("每年交的女朋友的數(shù)量走勢(shì)圖", fontproperties=my_font) ?? ?# 給x軸添加刻度 ?? ?plt.xticks(x, _xtick_labels, fontproperties=my_font, rotation=45) ?? ?# 給y軸添加刻度 ?? ?plt.yticks(range(min(y_1), max(y_1) + 1)) ?? ?# 給xy軸添加說(shuō)明 ?? ?plt.xlabel("年齡", fontproperties=my_font) ?? ?plt.ylabel("數(shù)量", fontproperties=my_font) ?? ?# 做出網(wǎng)格更加直觀看出坐標(biāo)點(diǎn)值 ?? ?plt.grid(alpha=0.4, linestyle=":") ?? ?# 添加圖例 ?? ?plt.legend(prop=my_font) ?? ?plt.savefig("./girl.png") ?? ?plt.show()? # 對(duì)保存的圖片進(jìn)行添加 def add_watermark(a): ?? ?im = Image.open(a) ?? ?draw = ImageDraw.Draw(im) ?? ? ?? ?# 這里的hello world是添加的水印 ?? ?# 數(shù)組(50,50)表示的是水印要添加的位置? ?? ?draw.text((50, 50), 'hello world'.encode('utf-8'), fill=(1, 0, 0)) ? ?? ?im.show() if __name__ == '__main__': ?? ?save_img() ?? ?add_watermark("girl.png")
代碼輸出的結(jié)果:
注意hello world 就是添加的水印
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python的Flask框架與數(shù)據(jù)庫(kù)連接的教程
這篇文章主要介紹了Python的Flask框架與數(shù)據(jù)庫(kù)連接的教程,是Flask框架學(xué)習(xí)當(dāng)中的基本知識(shí),需要的朋友可以參考下2015-04-04Python Pickling 和 Unpickling 的區(qū)別
Python中的Pickling和Unpickling是與數(shù)據(jù)序列化和反序列化相關(guān)的重要概念,本文主要介紹了Python Pickling和Unpickling的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11Python企業(yè)編碼生成系統(tǒng)之主程序模塊設(shè)計(jì)詳解
這篇文章主要介紹了Python企業(yè)編碼生成系統(tǒng)之主程序模塊設(shè)計(jì),包括初始化、界面與邏輯實(shí)現(xiàn)相關(guān)操作技巧,需要的朋友可以參考下2019-07-07Python+OpenCV實(shí)現(xiàn)圖像基本操作的示例詳解
這篇文章主要為大家詳細(xì)介紹了Python通過(guò)OpenCV實(shí)現(xiàn)圖像的一些基本處理操作的方法,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,感興趣的可以學(xué)習(xí)一下2023-04-04Django中使用 Closure Table 儲(chǔ)存無(wú)限分級(jí)數(shù)據(jù)
對(duì)于數(shù)據(jù)量大的情況(比如用戶之間有邀請(qǐng)鏈,有點(diǎn)三級(jí)分銷的意思),就要用到 closure table 的結(jié)構(gòu)來(lái)進(jìn)行存儲(chǔ)。這篇文章主要介紹了Django中使用 Closure Table 儲(chǔ)存無(wú)限分級(jí)數(shù)據(jù),需要的朋友可以參考下2019-06-06Python PIL讀取的圖像發(fā)生自動(dòng)旋轉(zhuǎn)的實(shí)現(xiàn)方法
這篇文章主要介紹了Python PIL讀取的圖像發(fā)生自動(dòng)旋轉(zhuǎn)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07嘗試用最短的Python代碼來(lái)實(shí)現(xiàn)服務(wù)器和代理服務(wù)器
"人生苦短、我用Python",Python最大的特點(diǎn)便是代碼簡(jiǎn)潔,得益于Python自帶的wsgiref包和socket模塊,這里我們將嘗試用最短的Python代碼來(lái)實(shí)現(xiàn)服務(wù)器和代理服務(wù)器:2016-06-06使用Python通過(guò)win32 COM實(shí)現(xiàn)Word文檔的寫(xiě)入與保存方法
今天小編就為大家分享一篇使用Python通過(guò)win32 COM實(shí)現(xiàn)Word文檔的寫(xiě)入與保存方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05