Python實(shí)現(xiàn)為圖片批量添加隨機(jī)水印
應(yīng)部分朋友的問題寫的Python,
須提前安裝第三方庫,安裝PIL庫(Pillow):在命令行中輸入pip install pillow進(jìn)行安裝;
將此py文件放入根目錄,
另外根目錄中有三個(gè)文件夾。
watermark(水印文件夾)、original(需加水印圖片的文件夾)、output(成品文件夾)
代碼如下:
from PIL import Image, ImageDraw
import os, random
water_path = './watermark' # 水印文件夾路徑
watermark_list = os.listdir(water_path)
def do(file_name):
# 打開原始圖片和水印圖片
original_image = Image.open(file_name)
random_mark = random.choice(watermark_list) # 選擇隨機(jī)水印圖片
# print(random_mark)
watermark_image = Image.open(f'{water_path}/{random_mark}')
# 將水印圖片縮放到合適的大小
watermark_width, watermark_height = watermark_image.size
base_width, base_height = original_image.size
watermark_image = watermark_image.resize((base_width,int(base_width/watermark_width*watermark_height)))
# 創(chuàng)建一個(gè)和原始圖片相同大小的空白畫布
canvas = Image.new('RGBA', original_image.size)
# 將原始圖片粘貼到畫布上
canvas.paste(original_image, (0, 0))
# 將水印圖片粘貼到畫布上
canvas.paste(watermark_image, (0, 0))
# 保存帶有水印的圖片
name = file_name.split("\\")[-1]
canvas.save(f'./output/do_{name}') # 成品保存路徑
print(f">>>> {name} 添加 {random_mark} 水印 成功。")
for root, dirs, files in os.walk("./original"): # 需要加水印的文件夾路徑
for name in files:
file_name = os.path.join(root, name)
do(file_name)以下為一個(gè)Python給圖片添加文字水印的示例
from PIL import Image, ImageDraw, ImageFont
def add_watermark(input_image_path, output_image_path, watermark_text):
# 打開原始圖片
base_image = Image.open(input_image_path).convert("RGBA")
# 創(chuàng)建一個(gè)可以在給定圖像上繪圖的對(duì)象
draw = ImageDraw.Draw(base_image)
# 設(shè)置字體和大小
font = ImageFont.truetype("arial.ttf", 15) # 水印文字的字體,大小,這是英文字體不支持中文,換成自己的字體即可
# 在圖片上添加水印,設(shè)置水印位置和顏色等
draw.text((20,20), watermark_text, fill=color, font=font)
# 保存帶有水印的圖片
base_image.save(output_image_path)
# 使用示例
add_watermark("../img-test/orig.jpg", # 需加水印的圖片
"../img-test/orig--out.png", # 最終的圖片
"Watermark Text") # 水印文字以下一個(gè)給圖片添加透明圖片水印的例子
from PIL import Image
# 打開背景圖片和水印圖片
background = Image.open('../img-test/orig.jpg') # 需加水印的圖片
watermark = Image.open('../img-test/mark.png').convert("RGBA") # 透明背景的水印圖片
# 將水印圖片粘貼到背景圖片上
background.paste(watermark, (0, 0),mask=watermark) # 水印位置(0,0)
# 保存合并后的圖片
background.save('../img-test/orig_mark.png')到此這篇關(guān)于Python實(shí)現(xiàn)為圖片批量添加隨機(jī)水印的文章就介紹到這了,更多相關(guān)Python圖片添加隨機(jī)水印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python實(shí)現(xiàn)畫一個(gè)中國地圖
今天小編就為大家分享一篇使用Python實(shí)現(xiàn)畫一個(gè)中國地圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python2與Python3的區(qū)別實(shí)例分析
這篇文章主要介紹了Python2與Python3的區(qū)別,結(jié)合實(shí)例形式分析了Python2與Python3在輸出、編碼、函數(shù)、運(yùn)算等操作的常見區(qū)別與使用技巧,需要的朋友可以參考下2019-04-04
聊聊python在linux下與windows下導(dǎo)入模塊的區(qū)別說明
這篇文章主要介紹了聊聊python在linux下與windows下導(dǎo)入模塊的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Jupyter Notebook折疊輸出的內(nèi)容實(shí)例
這篇文章主要介紹了Jupyter Notebook折疊輸出的內(nèi)容實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
昨晚我用python幫隔壁小姐姐P證件照然后發(fā)現(xiàn)
大家好,我是Lex 喜歡欺負(fù)超人那個(gè)Lex 建議大家收藏哦,以后幫小姐姐P自拍,證件照,調(diào)尺寸,背景,摳圖,直接10行代碼搞定,瞬間高大上2021-08-08
Python中的True,False條件判斷實(shí)例分析
這篇文章主要介紹了Python中的True,False條件判斷的用法,實(shí)例分析了針對(duì)不同數(shù)據(jù)類型的條件判斷用法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01

