首先需要安装PIL,pip install
2.x的版本安装
pip insall PIL
3.x的python版本安装
pip install pillow
实现功能步骤:
1、读取指定目录jpg或png图片
2、给图片加入水印(可以自动选择不同水印)
from PIL import Image
import os,time
#将logo自动自适应图片大小,添加到图片正中间
def pic_add_logo(imagefile,addlogo,savename):
im = Image.open(imagefile)
mark=Image.open(addlogo)
remark = mark.resize((im.size[0],im.size[1]),Image.ANTIALIAS)
layer=Image.new('RGBA', im.size, (0,0,0,0))
layer.paste(remark, (im.size[0]-remark.size[0],im.size[1]-remark.size[1]))
out=Image.composite(layer,im,layer)
#out.show()
out.save("c:/users/jianl/desktop/"+savename)
def os_findall_files(rootdir,logofile):
files = os.listdir(rootdir) #列出xls文件夹下的所有文件
num = len(files) #列出所有文件的个数
for i in range(num): #按文件个数执行次数
kname = os.path.splitext(files[i])[1] #分离文件名与扩展名,返回(f_name, f_extension)元组
if kname == '.jpg' or kname == '.png': #判定扩展名是否为xls,屏蔽其它文件
imagefile = rootdir + files[i]
savename = files[i]
pic_add_logo(imagefile,logofile,savename)
text = '''
请输入您希望添加那种水印标识的对应【数字编号】!
【经典记录】-对应数字为【1】
【灾难记录】-对应数字为【2】
【经典电影】-对应数字为【3】
【绝地求生】-对应数字为【4】
【 DOTA 2】-对应数字为【5】
请输入:
'''
input_num = int(input(text))
print("您选择的数字是:" + str(input_num))
fliepath = "C:/Users/jianl/Desktop/" #目标目录
#下面为不同的水印logo,png图
jingdianjilu = 'd:/自媒体文件/封面常用水印/经典记录.png'
jingdiandianying = 'd:/自媒体文件/封面常用水印/经典电影.png'
zainanjilu = 'd:/自媒体文件/封面常用水印/灾难记录.png'
juediqiusheng = 'd:/自媒体文件/封面常用水印/绝地求生.png'
dota2 = "d:/自媒体文件/封面常用水印/DOTA2.png"
if input_num == 1:
os_findall_files(fliepath,jingdianjilu)
elif input_num == 2:
os_findall_files(fliepath,zainanjilu)
elif input_num == 3:
os_findall_files(fliepath,jingdiandianying)
elif input_num == 4:
os_findall_files(fliepath,juediqiusheng)
elif input_num == 5:
os_findall_files(fliepath,dota2)
for i in range(10):
print("转换完成!{}秒后关闭".format(10-i))
time.sleep(1)