Python实现为图片批量添加随机水印

 更新时间:2023年11月23日 11:44:14   作者:mYlEaVeiSmVp  
这篇文章主要为大家详细介绍了如何使用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的实例

    今天小编就为大家分享一篇Python+Pandas 获取数据库并加入DataFrame的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python命令行执行脚本找不到模块ModuleNotFoundError问题

    python命令行执行脚本找不到模块ModuleNotFoundError问题

    这篇文章主要介绍了python命令行执行脚本找不到模块ModuleNotFoundError问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 使用Python连接MySQL数据库进行编程的步骤详解

    使用Python连接MySQL数据库进行编程的步骤详解

    Python数据库编程可以使用多种模块与API,例如SQLite、MySQL、PostgreSQL等,本教程将重点介绍使用Python连接MySQL数据库进行编程,需要的朋友可以参考下
    2023-06-06
  • 浅谈python中scipy.misc.logsumexp函数的运用场景

    浅谈python中scipy.misc.logsumexp函数的运用场景

    下面小编就为大家带来一篇浅谈python中scipy.misc.logsumexp函数的运用场景。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 浅谈Python中的私有变量

    浅谈Python中的私有变量

    本篇文章给大家讲述了Python中的私有变量相关的知识点内容,学习后大家会对私有变量有更系统的了解。
    2018-02-02
  • python数据分析之用sklearn预测糖尿病

    python数据分析之用sklearn预测糖尿病

    这篇文章主要介绍了python数据分析之用sklearn预测糖尿病,文中有非常详细的代码示例,对正在学习python数据分析的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-04-04
  • python包装和授权学习教程

    python包装和授权学习教程

    包装是指对一个已经存在的对象进行系定义加工,实现授权是包装的一个特性,下面这篇文章主要给大家介绍了关于python包装和授权的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Django 创建/删除用户的示例代码

    Django 创建/删除用户的示例代码

    这篇文章主要介绍了Django 创建/删除用户的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python循环语句的使用方法

    python循环语句的使用方法

    这篇文章主要介绍了python循环语句的使用方法,文章主要介绍python循环相关内容有​for循环语句、循环嵌套、break结束循环、continue跳过本次循环实现内容,需要的小伙伴可以参考一下
    2022-04-04
  • Python TKinter如何自动关闭主窗口

    Python TKinter如何自动关闭主窗口

    这篇文章主要介绍了Python TKinter如何自动关闭主窗口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02

最新评论