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自動(dòng)化辦公的10個(gè)腳本合集(含源碼)
這篇文章主要為大家詳細(xì)介紹了Python自動(dòng)化辦公的10個(gè)腳本合集,這些腳本覆蓋郵件、Excel處理、圖片、PDF和歸檔等常見辦公場(chǎng)景,大家可以根據(jù)需要進(jìn)行選擇2025-11-11
Python實(shí)戰(zhàn)項(xiàng)目刮刮樂的實(shí)現(xiàn)詳解流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python實(shí)現(xiàn)一個(gè)刮刮樂的小項(xiàng)目,大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11
pytorch 如何自定義卷積核權(quán)值參數(shù)
這篇文章主要介紹了pytorch 自定義卷積核權(quán)值參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python基于百度AI實(shí)現(xiàn)抓取表情包
本文先抓取網(wǎng)絡(luò)上的表情圖像,然后利用百度 AI 識(shí)別表情包上的說明文字,并利用表情文字重命名文件,感興趣的小伙伴們可以參考一下2021-06-06
詳解numpy矩陣的創(chuàng)建與數(shù)據(jù)類型
這篇文章主要介紹了詳解numpy矩陣的創(chuàng)建與數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Python實(shí)現(xiàn)元素等待代碼實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)元素等待代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11

