通过Python的filestools库给图片添加全图水印的示例详解

2023-05-17 17:05:01 示例 水印 详解

前言

大家好,我是空空star,本篇给大家分享一下通过python的filestools库给图片添加全图水印。

一、filestools库简介

filestools目前包含四个工具包,分别是树形目录显示、文件差异比较、图片加水印和curl请求转Python代码。

二、安装filestools

pip install filestools

三、查看filestools版本

pip show filestools

Name: filestools
Version: 0.1.3
Summary: 仿linux的tree命令、文件差异比较工具、图片加水印和curl请求转python代码。
Home-page: UNKNOWN
Author: 小小明
License: GPLv3
Requires: cchardet, Pillow, pyperclip, rich
Required-by:

四、图片添加全图水印

1.引入库

from watermarker.marker import add_mark

2.添加水印

add_mark(file="demo.jpg",
         out="out",
         mark="空空star",
         color="white",
         size=30,
         opacity=0.3,
         angle=45,
         space=75)

3.效果

五、参数调整对比

1.水印颜色

默认#8B8B1B

1.1通过名称设置颜色

# 通过RGB值设置颜色-红色
color = (255, 0, 0)

1.2通过RGB值设置颜色

# 通过RGB值设置颜色-红色
color = (255, 0, 0)

1.3通过十六进制设置颜色

# 通过十六进制设置颜色-绿色
color = '#6FE000'

2.水印字体的大小

默认30

# 左size=30
# 右size=50

3.水印的透明度

默认0.15

# 左opacity=0.3
# 右opacity=0.6

4.水印直接的间隔

默认75个空格

# 左space=75
# 右space=100

5.水印旋转角度

默认30度

# 左angle=45
# 右angle=-45

总结

查看marker.py,可以发现,这个水印处理就是基于PIL库做的。也能看到水印字体的默认值。

从以下代码中,也可以看到相关参数的默认值。

def add_mark(file, mark, out="output", color="#8B8B1B", size=30, opacity=0.15, space=75, angle=30):
    if os.path.isdir(file):
        names = os.listdir(file)
        for name in names:
            image_file = os.path.join(file, name)
            add_mark2file(image_file, mark, out, color, size, opacity, space, angle)
    else:
        add_mark2file(file, mark, out, color, size, opacity, space, angle)

到此这篇关于通过Python的filestools库给图片添加全图水印的文章就介绍到这了,更多相关Python添加全图水印内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章