话说最近在学前端,发现不少网页的尾部有加上版权信息说明,想想觉得自己相机中的照片也得拥有姓名,修图软件一个一个加太麻烦了,不如Python一小段代码来得快。先放两张图展示一下效果哈哈哈哈。
添加水印首先我们把文字的字体选好,主要用到的是Python的PIL库。
字体文件在电脑的如下图标出的位置(C:\Windows\Fonts
),选择自己想要的字体复制到项目文件。当然,也可以在网上下载其他的花里胡哨的字体。
现在来看代码。
import os
from PIL import Image,ImageDraw,ImageFont
def watermark(filename, text,pic):
# 实例化图片对象
img = Image.open(filename)
w, h = img.size # 获取图片的宽、高,以便计算图片的相对位置
print(pic+"图片高度:",h)
print(pic+"图片宽度:",w)
print("==========================================")
# 设置字体、字体大小
font = ImageFont.truetype("segoepr.ttf", int(w/50))
draw = ImageDraw.Draw(img)
'''
draw.text的四个参数设置:文字位置(横坐标,纵坐标)/内容/颜色/字体
第一个参数调整文字插入的相对位置(屏幕坐标轴的方向如下)
→w
↓
h
'''
draw.text((w/4,h/1.05), text=text, fill=(255, 255, 255), font=font)
# 不存在如下文件夹则创建
if not os.path.exists("marked_images"):
os.mkdir("marked_images")
save_name=pic.split(".")[0]+"_marked.jpg"#设置添加水印后的图片的名称
img.save("./marked_images/"+save_name)
if __name__ == '__main__':
text = "Copyright © 2019 lzh. All rights reserved."
director_path="./images/"#存放图片文件夹的路径
pictures=os.listdir(director_path)#获取文件夹下的所有图片名称
for pic in pictures:
filename=director_path+pic#构造每张图片的路径名称
watermark(filename,text,pic)#添加水印
print("全部处理完毕")
上述代码便完成了对图片批量地添加水印的操作
代码只需要修改第30行文件夹的路径就可直接使用了!
最后上传两张图片首尾呼应一下!
滴滴滴,更多内容可以关注以下公众号!