Python利用filestools模块实现水印添加

作者:Sir 时间:2021-09-11 06:36:08 

在前面的文章中很早有写到关于添加水印的方法,但是过程还是较为复杂,最近发现的这款filestools非标准库其实真正实现添加水印的只要一个函数的调用,一行代码即可完成水印的添加。

通过watermarker模块的add_mark函数就能轻松完成对图片水印的添加,但是这里为了能够将其开发成一个可用的功能。里面加入了其他的业务代码块实现对批量图片完成水印添加。

话不多说,我们直接进入正题,还是使用pip的方式来完成对filestools非标准库的安装,这里我们使用的是豆瓣的镜像站进行安装。

pip install filestools -i http://pypi.douban.com/simple/

将需要需要导入的第三方模块列举到下面,用于大家参考。

from watermarker.marker import add_mark  # 添加水印模块

import os  # 系统操作模块

from loguru import logger  # 日志打印模块

将需要的模块导入到代码块以后,我们来编写一个函数batch_to_mark用来实现批量的添加的水印的效果。实现思路是这样的:将需要添加水印的图片全部整理到一个文件夹下面,再通过遍历该文件夹逐个对图片实现水印的添加也就完成了批量添加水印的功能。

def batch_to_mark(directory=None, water_name=None):
    """
    This function takes a directory of .txt files and converts them to .mark files

    :param directory: the directory where the files are located
    :param water_name: The name of the watermark image
    """
    if directory is None or water_name is None:
        logger.info('文件夹地址或水印名称不能为空!')
        return
    for file_name in os.listdir(directory):
        logger.info('当前文件名称:{0},即将开始添加水印操作!'.format(file_name))
        add_mark(file=os.path.join(directory, file_name), out=os.getcwd(), mark=water_name,
                 opacity=0.3, angle=30, space=40, size=30)
        logger.info('当前文件名称:{0},已经完成添加水印操作!'.format(file_name))

if __name__ == '__main__':
    batch_to_mark(directory='C:/test/images/', water_name=u'Python 集中营')

这样批量添加水印的代码块就开发完成了,但是由于上面过程中使用到的add_mark函数有些参数是用于调整水印的位置大小、间距等参数的,所以这里专门说明一下以便大家可以根据自己的图片情况来调整。

'''
函数名称:add_mark,用于实现添加水印。
file:原始照片;
mark:使用哪些字符作为水印;
out:添加水印后保存的位置;
color:水印字体的颜色,默认颜色#8B8B1B;
size:水印字体的大小,默认50;
opacity:水印字体的透明度,默认0.15;
space:水印字体之间的间隔, 默认75个空格;
angle:水印字体的旋转角度,默认30度;
'''

最后,我选用了几个'亚索'的帅照来测试一下结果,图片是我去Google上下载的,下面我选用了两张来展示一下我们在添加完成水印的效果吧!

Python利用filestools模块实现水印添加

Python利用filestools模块实现水印添加

补充

当然还可以实现批量填加多张图片水印,下面是实现代码

from watermarker.marker import add_mark
import os

# 用os模块读取文件夹所有内容 ,使用 files 接收。
files = os.listdir('C:\\Users\\青灯教育\\Desktop\\111')
for file in files:
   add_mark('C:\\Users\\青灯教育\\Desktop\\111\\'+file, mark='点赞、关注、收藏呀', opacity=0.5)

Python利用filestools模块实现水印添加

Python利用filestools模块实现水印添加

Python利用filestools模块实现水印添加

来源:https://mp.weixin.qq.com/s/XCWHgP6-rTbRKZsuVa9bow

标签:Python,filestools,水印,添加
0
投稿

猜你喜欢

  • pytest-fixture简介及其用法讲解

    2023-02-13 19:27:25
  • 非常全面的实用JavaScript开发工具列表

    2010-01-05 16:44:00
  • Python语音合成之第三方库gTTs/pyttsx3/speech横评(内附使用方法)

    2022-03-23 08:31:22
  • Python爬虫实现抓取电影网站信息并入库

    2023-12-25 02:42:32
  • 用户研究角度看设计(2):用户为何视若无睹

    2009-01-09 12:51:00
  • 建立用户体验过程的实用指南

    2007-11-19 12:53:00
  • SQL Server 2005代理服务应用软件组成

    2009-02-19 17:19:00
  • PHP convert_uudecode()函数讲解

    2023-06-12 15:53:51
  • Python使用循环神经网络解决文本分类问题的方法详解

    2022-12-01 16:49:05
  • Excel和Access之间的数据交换

    2008-11-20 16:53:00
  • 使用ASP常见问题解答

    2007-10-11 14:07:00
  • 浅谈Webpack多页应用HMR卡住问题

    2023-07-20 01:27:12
  • 基于Django实现日志记录报错信息

    2021-06-22 06:24:23
  • MySql常用命令总结

    2009-09-16 10:51:00
  • 如何取得表中字段的属性?

    2010-01-18 20:52:00
  • SQL Server 安装出错:以前的某个程序安装已在安装计算机上创建挂起的文件操作

    2010-02-23 14:48:00
  • Python 输出时去掉列表元组外面的方括号与圆括号的方法

    2023-06-06 07:10:44
  • Pytorch模型微调fine-tune详解

    2021-06-17 07:29:00
  • MySQL聚焦Web 2.0可扩展性

    2012-01-05 19:02:19
  • TensorFlow和keras中GPU使用的设置操作

    2023-08-07 20:32:53
  • asp之家 网络编程 m.aspxhome.com