2行Python实现给图片加水印效果
作者:黄伟呢 发布时间:2021-09-29 11:15:13
目录
前言
filestools库介绍
一行代码给图片加水印
总结
前言
版权相当重要,对于某张图片,可能是你精心制作的思维导图,或者你精心设计的某个logo。你可能花费好多时间来弄,最后却被别人直接搬运过去使用,好气哦!
基于此,本文我就带着大家学学如何给你的图片加水印,仅需要2行Python代码,任何人都可以学会。
filestools库介绍
今天给大家介绍的Python库,叫做filestools,由小小明开发,直接使用如下命令,安装后使用。
pip install filestools --index-url=http://mirrors.aliyun.com/pypi/simple -U
这个库一共集成了4个功能,4个库都已经全部迁移到了filestools库中,因此安装这一个库,就可以使用所有的4个功能了,你只需要在使用对应功能,分别导入对应的模块即可。
# 给图片加水印
from watermarker.marker import add_mark
add_mark()方法一共有8个参数,如果你不知道怎么查看参数,在jupyter notebook可以输入如下命令,即可查看。
下面分别为大家讲述add_mark()方法中8个参数的含义,介绍如下 :
file: 待添加水印的照片;
mark: 使用哪些字作为水印;
out: 添加水印后保存的位置;
color: 水印字体的颜色,默认颜色#8B8B1B;
size: 水印字体的大小,默认50;
opacity: 水印字体的透明度,默认0.15;
space: 水印字体之间的间隔, 默认75个空格;
angle: 水印字体的旋转角度,默认30度;接下来,我们仅用一行代码,给图片添加水印。
一行代码给图片加水印
原图长这样:
使用下面这行代码,仅仅两行代码:
from watermarker.marker import add_mark
add_mark(file=r"aixin.jpg", out=r"C:\Users\Administrator\Desktop\练习", mark="人生苦短,快学Python", opacity=0.2, angle=45, space=30)
加水印后长这样:
最后再为大家解释一下,这一行代码的含义。
add_mark(file=r"aixin.jpg",
out=r"C:\Users\Administrator\Desktop\练习",
mark="人生苦短,快学Python",
opacity=0.2, angle=45, space=30)
含义: 给当前工作环境下名为aixin.jpg的图片,添加一张水印。水印字样为快学Python,水印透明度是0.2,水印的旋转角度是45°,水印之间的间隔是30个空格。添加水印后,最后将处理后的图片保存在一个指定目录下。
如果你想详细学习filestools库,参考下方网站:
https://pypi.org/project/filestools/
来源:https://mp.weixin.qq.com/s/eR3owuGlfNWcRmTyXtMmQw


猜你喜欢
- 目的在刷算法题中经常遇到关于链表的操作,在使用go语言去操作链表时不熟悉其实现原理,目的是为了重温链表这一基础且关键的数据结构。1、链表的特
- Vue设置浏览器小图标当我们使用浏览器做开发时,我们能希望浏览器标签页能显示自己的logo小图标,这个是怎样设置的呢?第一步:准备logo图
- 朋友去面试。对方问他:说说你之前做的那个站,有什么地方好的?朋友就说:用户体验比别的站好。对方又问:你怎么知道用户体验比别的好?朋友于是又磕
- 相信大家对javascript中的面向对象写法都不陌生,那还记得有几种创建对象的写法吗?相信大家除了自己常写的都有点模糊了,那接下来就由我来
- 前言众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错。如以下的代码:
- 析构函数当某个对象成为垃圾或者当对象被显式销毁时执行。PHP5中提供的析构函数是__destruct,其与构造方法__construct相对
- LSTM简介1、RNN的梯度消失问题在过去的时间里我们学习了RNN循环神经网络,其结构示意图是这样的:其存在的最大问题是,当w1、w2、w3
- 前言:索引下推(ICP)是针对MySQL使用索引从表中检索数据行的情况的优在没有索引下推的情况下,MySQL通过存储引擎遍历索引来定位表中的
- Python项目中很多时候会需要将时间在Datetime格式和TimeStamp格式之间转化,又或者你需要将UTC时间转化为本地时间,本文总
- 前言 角点通常被定义为两条边的交点,或者说,角点的局部邻域应该具有两个不同区域的不同方向的边界。角点检测(Corner Detec
- 在本文中,我想向您介绍如何在Django中使用聚合,聚合的含义是“内容相关项的集合,以便它们可以显示或链接到”。在Django中,我们使用的
- 解决方法如下: 在Firefox地址栏里输入 about:config 在配置列表中找到dom.allow_scripts_to_close
- ancestor:祖先adjacent:相邻algorithm:运算法则anonymous box:无名盒子。例: anonymous in
- 本次目标是将一副图像从rgb颜色空间转换到hsv颜色空间,颜色去除白色背景部分具体就调用了cv2的两个函数,一个是rgb转hsv的函数具体用
- 也有些正则方法可以限制回归算法输出结果中系数的影响,其中最常用的两种正则方法是lasso回归和岭回归。lasso回归和岭回归算法跟常规线性回
- 虽然淘宝商城的名字中带有“商城”两字,但是很显然的,淘宝商城并不是一个B2C商城,淘宝商城仍只是一个C2C平台,充其量只是个收费版的淘宝。在
- 如下所示:class A(): def test_a(self): self.m ="hel
- 本文记录了python安装及环境配置方法,具体内容如下Python安装 Windowns操作系统中安装Python步骤一 下载安装包从Pyt
- 目录 一,抓取情况描述二,网页分析三,程序编写 一,抓取情况描述1.抓取的页面需要登陆,以公司网页为例,登陆网址http
- 本文介绍的实例成功的实现了动态行转列。下面我以一个简单的数据库为例子,说明一下。数据表结构这里我用一个比较简单的例子来说明,也是行转列的经典