Python小技巧:两行代码实现批量给图片填加水印,这也太简单了

作者&投稿:宰父会 (若有异议请与网页底部的电邮联系)
~

我们平时要给图片加水印,但是又不会PS,免不了着急上火,还找不到人,想想还是得自己学一手~

而且图片很多的话,PS还是挺慢的,用Python一键生成即可,效率杠杠的。

准备工作

环境的话我这里使用的是 Python 和 pycharm

如果添加一张图片的水印,两行代码就实现了。

本次使用的模块是 filestools , 第三方模块,咱们需要手动安装一下。

win+r打开搜索框,输入cmd 按确定后弹出命令提示符窗口,输入 pip install filestools 即可安装成功。

代码解析

1、单张图片添加水印

模块导入

怎么使用 filestools 模块呢?

首先导入模块里面的一个方法,watermarker ,点上 marker ,然后 import add_mark

add_mark 已经包含了很多方法

file 是添加水印照片 ,mark 使用哪些字作为水印,out 保存的地方 ,color 颜色,size 水印字体的大小,opacity 不透明度,space 字体间距,angle 旋转角度。

假设我要给图片添加上:人生苦短, 快学python

咱们把图片和文字加进去即可,代码如下:

2、批量填加多张图片水印

批量给图片添加的话,需要用到 OS 模块。

导入一下

用os模块读取文件夹所有内容 ,使用 files 接收。

打印一下

现在所有文件名字都有了

通过 for 循环遍历都打印出来

然后将文件添加进去,我们读取的是 img_1 里面的内容,那就把这个文件里的内容都传进去,保存数据的时候,都会保存在这里面。

再改一下透明度

我这里改成0.5

这样就清晰多了~




python调试程序BUG的心得技巧分享
编程习惯就好比是电影中的特效。电影特效越好,呈现出来的观影效果也自然越好。同样,如果我们能够养成好的编程习惯,在查找错误的时候,自己的思路就会更加清晰。下面是小编整理的解决Python项目bug的心得技巧分享,包含六小点,希望对大家有所帮助。方法一:使用项目管理工具 无论Python项目简单与否,我们都...

满满干货!20个Python使用的小技巧
本节对一些 Python 易混淆的操作进行对比。1.1 有放回随机采样和无放回随机采样 1.2 lambda 函数的参数 1.3 copy 和 deepcopy 复制和变量别名结合在一起时,容易混淆:对别名的修改会影响原变量,(浅)复制中的元素是原列表中元素的别名,而深层复制是递归地进行复制,对深层复制的修改不影响原...

如何用Python切割视频(87)
5, -2)则表示从第5秒开始截取,直到视频结束前2秒。现在,你已经掌握了视频切割的Python技巧,是不是迫不及待想尝试一下了呢?记得,遇到任何问题,我们社群随时欢迎你的加入,一起交流探讨。最后,别忘了关注我的同名公众号,那里会有更多编程知识等你探索。咱们下期节目再见,期待你的成长与进步!

Python元组常用操作小技巧
运算符等。在回顾这些知识时主要参考了两本经典的Python编程书籍:《流畅的Python》和《像计算机科学家一样思考Python》,有兴趣的朋友可以深入阅读!希望这篇文章对你有帮助,下回将总结Python列表的使用技巧。[1]《流畅的Python》: https:\/\/book.douban.com\/subject\/27028517\/ ...

Python小技巧:两行代码实现批量给图片填加水印,这也太简单了
我们平时要给图片加水印,但是又不会PS,免不了着急上火,还找不到人,想想还是得自己学一手~而且图片很多的话,PS还是挺慢的,用Python一键生成即可,效率杠杠的。准备工作 环境的话我这里使用的是 Python 和 pycharm 如果添加一张图片的水印,两行代码就实现了。本次使用的模块是 filestools , 第...

可以让你快速用Python进行数据分析的10个小技巧
所以,这里有一些小提示和小技巧,有些可能是新的,但我相信在下一个数据分析项目中会让你非常方便。 Pandas中数据框数据的Profiling过程 Profiling(分析器)是一个帮助我们理解数据的过程,而Pandas Profiling是一个Python包,它可以简单快速地对Pandas 的数据框数据进行 探索 性数据分析。 Pandas中df.describe()和df....

如何系统地自学Python?你知道哪些相关的学习小技巧?
Python即计算机高级编程语言,能够简单有效的面向对象编程,它的本质就是ABC语言的替代品,想要自学就要先学会编程,在基础入门时,就需要对自己有一个清醒的认知,掌握编程语言,要能够看得懂复杂的编程代码,清楚自己学习编程的目标,朝着既定目标前进,尝试收集一些相关资料,建立牢固的编程思维,在看到无法...

Python有哪些黑魔法?
回答:Python是我们程序猿特别喜欢用的一种编程语言,在使用的时候有些功能有种黑魔法的感觉,我就列举几个我个人感觉还不错的用法。 调试Linux API的交互式运行环境 REPL的优点是不言而喻的,它可以大大提高开发和调试的效率。特别是当您需要快速验证API时。我第一次使用GDB来做一些与REPL有关的事情,但是...

python怎么创建数组?python创建数组的方法
以上就是关于“python怎么创建数组?python创建数组的方法”的相关内容分享了,希望对于你的Python学习有所帮助!很多小伙伴问:Python怎么学?其实Python掌握是需要阶段性的学习的,学习Python零基础功能-Python编程技巧-Python核心原理分析循序渐进方可学会!所以,想学Python,但是无从下手,就来羽兔,点击...

Python怎么合并代码?
Python如何合并多个装饰器?教你几个小技巧Python如何合并多个装饰器?教你几个小技巧 django程序,需要写很多api,每个函数都需要几个装饰器,例如 复制代码代码如下:csrf_exempt require_POST deffoo(request):pass 既然那么多个方法都需要写2个装饰器,或者多个,有啥办法把多个合并成一行呢?上面的函数...

温泉县18794789961: 想知道: 西宁市 西宁最大服装批发市场 在哪 -
枕话活血: 没有大点的湟中县批发市场,OZ在西宁湟中小商品批发市场.在原来的火车站.

温泉县18794789961: 小尾寒羊圈养的方法 -
枕话活血: 建设保持干燥、卫生、通风良好,做到冬暖夏凉.草料营养搭配要合理、均衡,每只羊圈舍面积在1.5-2平方米.育肥羊的圈舍面积可以小一些.

温泉县18794789961: 防盗门喷完漆晾干后出现裂纹是怎么回事 -
枕话活血: 防盗门一般喷涂金属烤漆,不知道你晾干的是什么漆,估计油漆调的太干造成.

温泉县18794789961: Python单行注释和多行注释怎么写,需要注意什么? -
枕话活血: 1 单行注释(行注释) 以 # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用,如: print("hello python") # 输出 `hello python` 注意:为了保证代码的可读性,# 后面建议先添加一个空格,然后再编写...

温泉县18794789961: python写代码的小技巧 -
枕话活血: 这个取决于编辑器,也就是你用什么软件写python代码.如果是记事本,那就得像你那样输入;如果你的编辑器带有自动补全功能或自动补全的插件,那么在你输入前半个括号的同时会自动完成后半个括号.你可以试试sublime text这个编辑器.

温泉县18794789961: python如何以两个字符一行方式输出"Hello World"? -
枕话活血: 你好的!# -*- coding: utf-8 -*-""" Created on Mon Mar 18 21:04:06 2019 @author: 或者是2012""" def f(string): st = ''; for i in range(len(string)): if (i+1)%2 <> 0: st = st+string[i]; if len(string) == (i+1): print(st); else : st = st+string[i]; print(st); st ...

温泉县18794789961: 用python.输入a,b,c三个变量的值,输出其中的最大者的程序 -
枕话活血: 1 2 3 4 5 6#!/usr/bin/env python a=int(raw_input('input a:')) b=int(raw_input('input b:')) c=int(raw_input('input c:')) res=max(a,b,c) print'Max:',res 保存为check.py 执行:1 2 3 4 5[root@localhost python]# python check.py input a:10 input b:20 input c:30 Max: 30

温泉县18794789961: 如何用Python把单行文本处理成两行并对齐 -
枕话活血: outputChords = "" outputLyrics = "" inBracket = False for i in range(len(line)): if line[i] == '[': inBracket = True outputChords = outputChords + " " * (max(0, len(outputLyrics.encode('gbk')) - len(outputChords.encode('gbk')))) elif inBracket and ...

温泉县18794789961: 如何制作批处理文件(傻瓜版) -
枕话活血: DEL /F /A /Q \\?\%1 RD /S /Q \\?\%11、新建一个文本文档, 把上面两句代码复制进去并保存.2、然后修改这个文本文档的名字. 改为 xxxx.bat(注: 文本文档的扩展名是 xxxx.txt ,一定要把txt改成bat )3、把你想要删除的文件拖到这个 xxxx.bat 文件上即可删除了. xxxx 表示任意名都可以. 但最好不是中文.

温泉县18794789961: PYTHON 3.0 中的print语句 -
枕话活血: 调用print()函数时,覆盖参数end的默认值即可.例如:print('你好,', end='') #注意end参数,默认为'\n'(换行符) print('我是新来的') 即可达到输出成一行的效果.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网