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

Python022

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

我们平时要给图片水印,但是又不会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

这样就清晰多了~

1、python有socket、httplib等模块能进行与网站间通信,如果有图片url集合,就直接使用这些库下载

2、如果是一些网页中的url,可以先把网页取下来,在用HTMLParser,sgmllib,htmllib等模块进行页面解析,提取出url集合

大多博客给的生成GIF图都是要手打图片名字,觉得太麻烦,整了个把所有图片放在一个文件夹里,就可以就这些图片生成GIF图的工具

# user:Yollison

# Author: Yollison

# createtime: 2021/9/23 9:41

'''

这个程序是把某个文件夹里所有图片生成GIF动图

里面的功能不包括整理图片格式,直接暴力生成,所以图片最好在保存时就整理好格式

'''

import imageio

import os

def create_gif(image_list, gif_name, duration=0.35):

frames = []

for image_namein image_list:

frames.append(imageio.imread(image_name))

imageio.mimsave(gif_name, frames, 'GIF', duration=duration)

return

def main():

image_list = []

# 自动读取文件夹里图片的名字

    for filenamein os.listdir(r"D:/results"):# 图片所在文件夹的路径

        image_list.append('D:\\results\\'+filename)# 此路径与上一条语句路径保持一致

    gif_name ='result.gif' # 保存路径在此程序这里,也可自己指定路径

    duration =0.35

    # 生成gif

    create_gif(image_list, gif_name, duration)

if __name__ =='__main__':

main()