通过Python的filestools库给图片添加全图水印

news/2024/11/9 0:09:48/

文章目录

  • 前言
  • 一、filestools库简介
  • 二、安装filestools
  • 三、查看filestools版本
  • 四、图片添加全图水印
    • 1.引入库
    • 2.添加水印
    • 3.效果
  • 五、参数调整对比
    • 1.水印颜色
      • 1.1通过名称设置颜色
      • 1.2通过RGB值设置颜色
      • 1.3通过十六进制设置颜色
    • 2.水印字体的大小
    • 3.水印的透明度
    • 4.水印直接的间隔
    • 5.水印旋转角度
  • 总结


前言

大家好,我是空空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通过名称设置颜色

# 通过名称设置颜色-黄色
color = 'yellow'

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)

http://www.ppmy.cn/news/82172.html

相关文章

如何对图片进行卷积计算

1 问题 如何对图片进行卷积计算? 2 方法 先导入torch和torch里的nn类,然后设置一个指定尺寸的随机像素值的图片,然后使用nn.conv2d函数进行卷积计算,然后建立全连接层,最后得到新的图片的尺寸 步骤: (1) 导入实验所需要…

快递业的最新发展趋势:2023年市场预测

快递业是随着电子商务崛起而迅速发展的行业之一。自从互联网取代了线下商业模式,电子商务的发展成为了现代零售业的主要趋势,而快递业则变得越来越重要和不可或缺。未来的快递业需要应对许多挑战和机遇。 在2023年,快递业将进一步走向数字化、…

End-to-End Object Detection with Transformers 论文学习

论文地址:End-to-End Object Detection with Transformers 1. 解决了什么问题? 现有的目标检测算法需要大量的人为先验的设计,如 anchor 和 NMS,整体架构并不是端到端的。现有的检测方法为了去除重叠框,一般会利用 p…

2023年认证杯SPSSPRO杯数学建模B题(第一阶段)考订文本全过程文档及程序

2023年认证杯SPSSPRO杯数学建模 B题 考订文本 原题再现: 古代文本在传抄过程中,往往会出现种种错误,以至于一部书可能流传下来多种版本。在文献学中,错误往往被总结成“讹”、“脱”、“衍”、“倒”等形式,也可能同…

STM32 10个工程篇:1.IAP远程升级(四)

在前三篇博客中主要介绍了IAP远程升级的应用背景、下位机的实现原理、以及基于STM32CubeMX对STM32F103串口DMA的基本配置,第四篇博客主要想介绍Labview端上位机和下位机端的报文定义和通信等。 当笔者工作上刚接触到STM32 IAP升级的时候,实事求是地说存在…

JavaEE(系列16) -- 多线程(信号量与CountDownLatch)

目录 1. 信号量Semaphore 2. CountDownLatch 1. 信号量Semaphore 信号量, 用来表示 "可用资源的个数". 本质上就是一个计数器. 1.理解信号量 可以把信号量想象成是停车场的展示牌: 当前有车位 100 个. 表示有 100 个可用资源.当有车开进去的时候, 就相当于申请一个可…

就业内推 | 地产行业招运维,最高30k*15薪,有住房交通补贴

01 宝能 🔷招聘岗位:网络运维高级工程师 🔷职责描述: 1、负责集团各数据中心和职场网络的设计规划、实施落地和持续优化; 2、负责集团网络的日常运维工作,如服务请求和变更的处理、网络相关故障解决&#…

SpringCloud概论

目录 1.实现微服务需要解决的问题 2.解决这些问题需要的技术栈 3.spring cloud 4.Netflix和Alibaba 5.springCloud和doubbo 6.版本适配 7.停更 1.实现微服务需要解决的问题 马丁福勒于2014年在一篇文章中提出微服务架构,原文地址如下: Microser…