使用PIL给图像批量添加水印和改变大小

# -*- coding:UTF-8 -*-
import os,time
from PIL import Image,ImageDraw,ImageFont
fontFile="ygyxsziti2.0.ttf" #字体文件
width,height=612,816 #

os.chdir('src') #打开原始图片所在文件夹
for fileName in os.listdir(os.getcwdu()):
    extName=os.path.splitext(fileName)[1] #获得文件的扩展名
    if extName=='.jpg' or extName=='.png':
        t=time.ctime(os.path.getctime(fileName))
        text=t+"\n"+u"代码改变生活!" #汉字加unicode编码,否则不显示
        im=Image.open(fileName) #im相当于指向图像的文件指针
        draw=ImageDraw.Draw(im) #draw相当于图像上的画笔
        fontSize=min(im.size)/30
        font=ImageFont.truetype(fontFile,fontSize) #font相当于画笔所使用的字体
        draw.text((50,50),text,font=font,fill=(255,0,0))  #用画笔开始在图像上写字

        rate=max(im.width/width,im.height/height) #缩放比例
        if rate!=0:
            im.thumbnail((im.size[0]/rate,im.size[1]/rate)) #注意参数是一个无组
        os.chdir(r'..\dst') #切换到目标文件夹
        im.save(fileName) #存入图像
        im.close() #关闭文件
        os.chdir(r'..\src') #切回源文件夹,注意当前在dst里, 回到上一级目录下的src里

posted @ 2017-12-01 10:00  框框A  阅读(564)  评论(0编辑  收藏  举报