importos,timefrom PIL importImage,ImageDraw,ImageFont#源文件夹,目标文件夹,字体文件,屏幕分辨率(宽度,高度)

srcpath, destpath, fontfile = r".\src", r"..\dest", r"..\font\301-CAI978.ttf"width, height= 640.0, 1136.0

defzoomSize(filename,imgtype):

imgtype= "jpeg" if imgtype=="jpg" else "png"

#获取文件创建时间 例:1483882912.37 Sun Jan 08 21:41:52 2017

t=time.ctime(os.path.getctime(filename))print filename +"创建时间:"+t

im= Image.open(filename) #默认mode="r"

#在图片上添加创建时间

draw =ImageDraw.Draw(im)

fontsize= min(im.size)/30font=ImageFont.truetype(fontfile, fontsize)

draw.text((0,im.height- fontsize),t,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)) #注:此处有两个括号,thumbnail的处理对象是元组

returnimdefbatchZoomSize():

imgBatch={}    #字典 {文件名:对应的处理后Image对象}#切换至源文件目录,对每张图片进行处理

os.chdir(srcpath)for filename inos.listdir(os.getcwdu()): #列举当前目录下的所有文件

postfix= os.path.splitext(filename)[1] #获取元祖 (文件名,文件后缀)if postfix == ".jpg" or postfix == ".png":

imgBatch[filename]=zoomSize(filename, postfix)#切换至目标文件目录,保存图片至目标文件夹,关闭图片文件

os.chdir(destpath)for filename inimgBatch.keys():

imgBatch[filename].save(filename)

imgBatch[filename].close()

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐