Python实现为图片批量添加随机水印
应部分朋友的问题写的Python,
须提前安装第三方库,安装PIL库(Pillow):在命令行中输入pip install pillow进行安装;
将此py文件放入根目录,
另外根目录中有三个文件夹。
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) # 选择随机水印图片 # 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))) # 创建一个和原始图片相同大小的空白画布 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)
以下为一个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") # 创建一个可以在给定图像上绘图的对象 draw = ImageDraw.Draw(base_image) # 设置字体和大小 font = ImageFont.truetype("arial.ttf", 15) # 水印文字的字体,大小,这是英文字体不支持中文,换成自己的字体即可 # 在图片上添加水印,设置水印位置和颜色等 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") # 水印文字
以下一个给图片添加透明图片水印的例子
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')
到此这篇关于Python实现为图片批量添加随机水印的文章就介绍到这了,更多相关Python图片添加随机水印内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python+Pandas 获取数据库并加入DataFrame的实例
今天小编就为大家分享一篇Python+Pandas 获取数据库并加入DataFrame的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-07-07python命令行执行脚本找不到模块ModuleNotFoundError问题
这篇文章主要介绍了python命令行执行脚本找不到模块ModuleNotFoundError问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06浅谈python中scipy.misc.logsumexp函数的运用场景
下面小编就为大家带来一篇浅谈python中scipy.misc.logsumexp函数的运用场景。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-06-06
最新评论