Python批量添加圖片水印的實現(xiàn)
一、前言
現(xiàn)在盜圖是非常常見的事情,許多人在使用圖片時都不會標注圖片的出處或者提及作者,這個時候水印就是個很好的東西了。我們可以給圖片添加水印后再分享出去,這樣就可以讓其它人知道圖片作者相關(guān)的信息。今天我們就帶大家來實現(xiàn)水印的添加。
二、文字水印
在添加水印的時候,我們比較常用的就是文字水印。比如@ZackSock
、@juejin:ZackSock
等。這種水印的添加非常簡單,只需要使用到Pillow
模塊的添加文字的操作即可,代碼如下:
from PIL import Image, ImageFont, ImageDraw # 加載字體 font = ImageFont.truetype('msyh.ttc', 60) # 加載圖片 im = Image.open('im.jpg') # 創(chuàng)建畫筆 drawer = ImageDraw.Draw(im) # 準備文本 text = '@ZackSock' # 繪制文本 drawer.text((0, 0), text, (0, 255, 0), font) im.show()
這里需要注意幾個地方,第一個就是水印大小。水印大小也就是文字大小,這個是由:
font = ImageFont.truetype('msyh.ttc', 60)
中第二個參數(shù)決定的,因此我們可以通過調(diào)節(jié)該參數(shù)調(diào)整水印大小。
第二點就是水印位置和水印顏色,這個就是通過:
drawer.text((0, 0), text, (0, 255, 0), font)
中第一個和第三個參數(shù)決定的,其中(0,0)表示水印左上角的坐標,而(0,255,0)表示水印的RGB值,具體調(diào)節(jié)可以參考RGB配色表。
三、圖片水印
文字水印使用起來比較方便,但是有時候我們更習(xí)慣將有代表性的logo作為水印,這個時候就可以圖片水印了,代碼如下:
from PIL import Image im = Image.open('origin.png').convert('RGBA') watermark = Image.open('watermark.png').convert('RGBA') w, h = im.size watermark.thumbnail((w//6, h//6)) r, g, b, a = watermark.split() # 獲取水印尺寸 w2, h2 = watermark.size # 計算位置 x = w-w2 y = h-h2 # 粘貼 im.paste(watermark, (x, y), mask=a) im.show()
效果圖如下:
到此這篇關(guān)于Python批量添加圖片水印的實現(xiàn)的文章就介紹到這了,更多相關(guān)Python批量添加圖片水印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python學(xué)習(xí)之panda數(shù)據(jù)分析核心支持庫
這篇文章主要給大家介紹了關(guān)于python學(xué)習(xí)之panda數(shù)據(jù)分析核心支持庫的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05python 實現(xiàn)二維數(shù)組的索引、刪除、拼接操作
這篇文章主要介紹了python 實現(xiàn)二維數(shù)組的索引、刪除、拼接操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05Python Pymysql實現(xiàn)數(shù)據(jù)存儲的示例
本文主要介紹了Python Pymysql實現(xiàn)數(shù)據(jù)存儲的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Pycharm中pyqt工具配置(Qt Designer、PyUIC、PyRCC)
Pycharm中進行擴展工具設(shè)置,從而實現(xiàn)在pycharm中打開Qt Designer、Ui文件生成Py文件、資源文件生成Py文件三個功能,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07