11,850
社区成员




from PIL import Image, ImageFilter, ImageDraw, ImageFont
from os import *
#----------------------------------------------------------------
filelist = [] # 查找目录中是JPG类型的图片
def search(root,target):
items = listdir(root)
for item in items:
filepath = path.join(root,item)
if path.isdir(filepath):
search(filepat,target)
elif path.isfile(filepath):
if filepath.split('.')[-1] == target:
f = filepath
filelist.append(f)
print(filelist) # 打印出来查找到的相应的图片绝对路径
return filelist
search('D:\py爬虫实践','jpg')#这里可以更改需要查找的目录和文件的类型
def daxiao(img): #图片给更改大小img是文件的绝对路径str类型(加引号)
imgx = Image.open(img)
w, h = imgx.size
imgx.thumbnail((w / 2, h / 2)) # 更改图片的大小更改为原来的一半大小
imgx.save(img, 'jpeg')#将原来的图片替换成更改过后的图片并且名称没变
def meiyan(img):#给图片使用美颜
imge= Image.open(img)
imgee = imge.filter(ImageFilter.CONTOUR) # 参数是CONTOUR 美颜效果是轮廓
imgee.save(img, 'jpeg') #将原来的图片替换成更改后的
def jiazi(img): #给图片加字
imageinfo = Image.open(img)
draw = ImageDraw.Draw(imageinfo)
draw.text((imageinfo.size[0] / 11, imageinfo.size[1] / 20), 'goodgood,wakkkkk', fill=(255, 0, 0))#这里用font=来确定字体类型 没有用这个只能输入英文
imageinfo.show()
imageinfo.save(img)
def main():
for i in filelist:
img = i
#daxiao(img)这里我应为前面弄得是将修改后的图片替换成现在的所以这个daxiao 和meiyan函数我只用了一个 大家可以根据自己的情况来用
meiyan(img)
jiazi(img)
main()
代码奉上太爽了 做完很有成就感
这是批量处理后的结果
这次是第一次一下定义很多函数 我是先定义一些小函数让后定义main函数 但是感觉最后定义main函数的时候略慌 所以还是尽量先定义main函数在定义小函数可能比较好
在第一次运行的时候报了一次错 让后直接运行第二次就成功了 不清楚咋回事 中间那个加汉字的我用了font=Arial但是报错了 不过之前我写代码用这个还能用 可能是应为我删了又重新下载python的原因吧 所以就直接用英文了