过年期间,照片好多,没有打印日期功能,用python试试
# -*- coding:cp936 -*-
#"""读出当前目录下的照片文件中的exif信息,把日期打印在照片上,另存为xxx.date.jpg"""
import glob,Image,ExifTags,ImageDraw,ImageFont
def get_filelist(dir=None):
"""获取文件list
参数:目录
返回:文件list"""
if dir==None:
filelist=glob.glob("*.jpg")
else:
filelist=glob.glob(dir+"//*.jpg")
return filelist
def read_exif(file):
"""获取exif的日期信息
参数:文件
返回:日期"""
im = Image.open(file)
rawexif = im._getexif()
if rawexif==None:
print file,"无exif信息"
return
for k in rawexif:
if ExifTags.TAGS.get(k,0)=="DateTimeOriginal":
return rawexif[k]
def print_date(date,file):
"""在照片上打印日期信息
参数:date(日期) file(照片文件)
返回:无"""
if date==None:
return
date=date[0:10]
date=date.replace(":",".")
im = Image.open(file)
draw=ImageDraw.Draw(im)
font=ImageFont.truetype(r"c:/windows/fonts/arial.ttf",20)
draw.setfont(font)
color=(0,255,0)
position=(im.size[0]-110,im.size[1]-22)
draw.text(position,date,fill=color)
newfile=file[:-4]+"."+date+".jpg"
im.save(newfile)
print file,"--->",newfile
filelist=get_filelist()
for file in filelist:
date=read_exif(file)
print_date(date,file)
raw_input("工作结束,按回车键退出...")
参考链接:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/362879