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

news/2024/7/21 4:25:34 标签: 人工智能, 图像处理, python

文章目录

  • 前言
  • 一、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

python">pip install filestools

三、查看filestools版本

python">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.引入库

python">from watermarker.marker import add_mark

2.添加水印

python">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通过名称设置颜色

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

1.2通过RGB值设置颜色

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

1.3通过十六进制设置颜色

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

2.水印字体的大小

默认30

python"># 左
size=30
python"># 右
size=50

3.水印的透明度

默认0.15

python"># 左
opacity=0.3
python"># 右
opacity=0.6

4.水印直接的间隔

默认75个空格

python"># 左
space=75
python"># 右
space=100

5.水印旋转角度

默认30度

python"># 左
angle=45
python"># 右
angle=-45


总结

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

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

python">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.niftyadmin.cn/n/257165.html

相关文章

C#基于asp.net的企业人事管理系统的研究与实现

(一)任务 1.本课题的任务是对人事管理系统的管理过程进行分析,列出逻辑实现过程,对系统进行逻辑设计和数据库设计; 2.主要实现系统管理、档案管理、考勤管理、薪水管理等功能; 3.实现企业员工的相关信息&am…

美团人气榜

# -*- coding:utf-8 -*- # 仅需修改这个地方https://jn.lianjia.com/ershoufang/pg{}rs/ 将jn换成你所在城市的拼写首字母小写 import requests from lxml import etree import time import random import csv import requests import jsonclass LianjiaSpider(object):def _…

4.19~20(总结)

项目越到后面,推进越难,已经到了发送消息这里了,这个做完,基本上也就完成得七七八八了,后面只需要优化了,但是现在卡在这里就还是有点难搞。 首先,我的界面已经成这样了。 我的打算是这样可以搜…

ESP8266_NONOS_SDK设置GOIO中断触发

以下是使用ESP8266 Non-OS SDK编写GPIO引脚设置为中断输入模式的示例代码。该代码使用 "ETS_GPIO_INTR_ATTACH()"函数将中断处理函数注册到GPIO引脚上: #include "ets_sys.h" #include "osapi.h" #include "gpio.h"// 设置…

m4a怎么转换成mp3,4招搞定

m4a怎么转换成mp3?相信很多朋友都知道,无论是音频、视频、图片等很多电子文件,都会有多种格式。由于格式不统一,很容易导致文件和软件之间出现不兼容的情况,最直接的结果就是在播放器中无法打开,或者使用的…

Mongo集群化部署+高可用架构

数据库开发系列 文章目录 数据库开发系列前言一、MongoDB存储引擎二、MongoDB 复制(副本集)三、为什么需要分片集群架构四、高可用分片集群架构(复制集)总结 前言 数据库的演进 随着计算机的发展,越来越多的数据需要被…

WIFI6模块AP6275系列选性参考和外围应用电路参考

AP6275系列是采用28纳米工艺的BCM43752方案设计、封装15x13mm/LGA-50,有SDIO接口和PCIe接口可选,同时还有蓝牙和WiFi天线是否共用区分;具体如下: AP6275S通信接口SDIO3.0WiFi/UARTBT5.3;吞吐量TX>450Mbps、RX>55…

《低代码PaaS驱动集团企业数字化创新白皮书》-集团型企业搭建低代码PaaS的成功要素

集团型企业搭建低代码PaaS的成功要素 数据连接和开放集成,注重平台化建设 低代码PaaS具备高集成度、低编程门槛以及丰富的模板和插件的特点,可以为整个公司提供应用平台底座,带来显著的规模经济效益。在该平台基础上,企业应赋予不…