python裁剪图片添加水印

import os
from PIL import Image,ImageDraw,ImageFont

def get_image(filename,width,height):
im = Image.open(filename).resize((width,height))
return im

def watermark(filename, text,pic):
# 实例化图片对象
#img = Image.open(filename)
##裁剪图片
img = Image.open(filename).resize((800,600))

w, h = img.size  # 获取图片的宽、高,以便计算图片的相对位置
print(pic+"图片高度:",h)
print(pic+"图片宽度:",w)
print("==========================================")
# 设置字体、字体大小  ('C:/Windows/Fonts/simhei.ttf', 44,index=0)
font = ImageFont.truetype("C:/Windows/Fonts/simhei.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("outimages"):
    os.mkdir("outimages")
save_name=pic.split(".")[0]+"_marked.jpg"#设置添加水印后的图片的名称
img.save("./outimages/"+save_name)

if name == 'main':
text = "Copyright 2019 lzh. All rights reserved."
director_path="./inimages/"#存放图片文件夹的路径

if not os.path.exists("inimages"):
    os.mkdir("inimages")

pictures=os.listdir(director_path)#获取文件夹下的所有图片名称
for pic in pictures:
    filename=director_path+pic#构造每张图片的路径名称
    ##处理异常
    try:
    
        watermark(filename,text,pic)#添加水印
    
    except:
        pass
print("全部处理完毕") 

你可能感兴趣的:(python裁剪图片添加水印)