App下載

如何用Python批量給圖片加水???

特級不保護動物 2023-07-04 09:49:00 瀏覽數 (1993)
反饋

你是否想要給你的圖片添加一些個性化的水印,以保護你的版權或者展示你的品牌?如果你有很多圖片需要處理,手動添加水印可能會很麻煩和耗時。幸運的是,Python可以幫助你快速地批量給圖片加水印。在這篇文章中,我將介紹一種簡單的方法,使用Python和Pillow庫來實現這個功能。

Pillow是一個流行的Python圖像處理庫,它提供了很多方便的功能,如讀取、保存、調整和合成圖片。要使用Pillow,你需要先安裝它。你可以使用pip命令來安裝:

pip install Pillow

安裝好Pillow后,你就可以開始編寫代碼了。首先,你需要導入Pillow庫,并定義一些變量,如水印圖片的路徑、原始圖片的文件夾、輸出圖片的文件夾等。例如:

from PIL import Image


watermark_path = "watermark.png" # 水印圖片的路徑
source_folder = "source" # 原始圖片的文件夾
output_folder = "output" # 輸出圖片的文件夾

接下來,你需要打開水印圖片,并將其轉換為RGBA模式,以保留透明度信息。然后,你可以使用os模塊來遍歷原始圖片的文件夾,找到所有的圖片文件,并對每一個圖片進行處理。例如:

import os


watermark = Image.open(watermark_path).convert("RGBA") # 打開并轉換水印圖片
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") # 打開并轉換圖片文件
image_width, image_height = image.size # 獲取圖片文件的尺寸

在處理每一個圖片文件時,你需要先計算水印圖片在原始圖片上的位置。這里我們假設水印圖片放在右下角,并留有一定的邊距。你可以根據自己的需求來調整這個位置。然后,你可以使用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) # 保存輸出文件

這樣,你就完成了批量給圖片加水印的功能。你可以運行這段代碼,并查看輸出文件夾中的結果。你會發(fā)現每一張原始圖片都被添加了一個水印。

這篇文章只是介紹了一種最基本的方法,你可以根據自己的需求來修改和優(yōu)化代碼,例如調整水印圖片的大小、透明度、角度等。希望這篇文章對你有所幫助。

0 人點贊