你是否想要給你的圖片添加一些個性化的水印,以保護你的版權或者展示你的品牌?如果你有很多圖片需要處理,手動添加水印可能會很麻煩和耗時。幸運的是,Python可以幫助你快速地批量給圖片加水印。在這篇文章中,我將介紹一種簡單的方法,使用Python和Pillow庫來實現(xiàn)這個功能。
Pillow是一個流行的Python圖像處理庫,它提供了很多方便的功能,如讀取、保存、調(diào)整和合成圖片。要使用Pillow,你需要先安裝它。你可以使用pip命令來安裝:
pip install Pillow
安裝好Pillow后,你就可以開始編寫代碼了。首先,你需要導入Pillow庫,并定義一些變量,如水印圖片的路徑、原始圖片的文件夾、輸出圖片的文件夾等。例如:
from PIL import Image
watermark_path = "watermark.png" # 水印圖片的路徑
source_folder = "source" # 原始圖片的文件夾
output_folder = "output" # 輸出圖片的文件夾
接下來,你需要打開水印圖片,并將其轉(zhuǎn)換為RGBA模式,以保留透明度信息。然后,你可以使用os模塊來遍歷原始圖片的文件夾,找到所有的圖片文件,并對每一個圖片進行處理。例如:
import os
watermark = Image.open(watermark_path).convert("RGBA") # 打開并轉(zhuǎn)換水印圖片
watermark_width, watermark_height = watermark.size # 獲取水印圖片的尺寸
for filename in os.listdir(source_folder): # 遍歷原始圖片的文件夾
if filename.endswith(".jpg") or filename.endswith(".png"): # 判斷是否是圖片文件
image_path = os.path.join(source_folder, filename) # 拼接圖片文件的路徑
image = Image.open(image_path).convert("RGBA") # 打開并轉(zhuǎn)換圖片文件
image_width, image_height = image.size # 獲取圖片文件的尺寸
在處理每一個圖片文件時,你需要先計算水印圖片在原始圖片上的位置。這里我們假設水印圖片放在右下角,并留有一定的邊距。你可以根據(jù)自己的需求來調(diào)整這個位置。然后,你可以使用Image.alpha_composite()方法來將水印圖片合成到原始圖片上,并保存到輸出文件夾中。例如:
margin = 10 # 邊距
watermark_x = image_width - watermark_width - margin # 水印圖片在x軸上的位置
watermark_y = image_height - watermark_height - margin # 水印圖片在y軸上的位置
image.paste(watermark, (watermark_x, watermark_y), watermark) # 將水印圖片合成到原始圖片上
output_path = os.path.join(output_folder, filename) # 拼接輸出文件的路徑
image.save(output_path) # 保存輸出文件
這樣,你就完成了批量給圖片加水印的功能。你可以運行這段代碼,并查看輸出文件夾中的結(jié)果。你會發(fā)現(xiàn)每一張原始圖片都被添加了一個水印。
這篇文章只是介紹了一種最基本的方法,你可以根據(jù)自己的需求來修改和優(yōu)化代碼,例如調(diào)整水印圖片的大小、透明度、角度等。希望這篇文章對你有所幫助。