第05题解答及总结
一、题目介绍
你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。
二、解答代码
from PIL import Image
import os
path=r'C:\Users\admin\Desktop\images'
for picname in os.listdir(path):
picpath = os.path.join(path, picname)
im=Image.open(picpath)
print(im.size)
im.thumbnail((1136,640))
im.save('finish_'+picname.split('.')[0]+'.jpg', 'jpeg')
im.show()
三、解答说明
1.用到的知识点
(1)image模块
image模块来自于PIL(python image library)库,是一个对图片操作的模块,非常强大。包括了:
- image.open()类,打开图片对象
- image.thumbnail(size),将图片等比例缩略成不大于参数指定的比例;
- image.show()类,显示图片
(2)OS模块
OS模块属于操作系统模块,用于和操作系统交互。主要是文件打开关闭、文件路径获取等操作。
2.IPO过程
- I,首先确定输入,已知图片都存在于一个文件夹,则需能够遍历每张图片,并对其处理;
- P,使用thumbnail类对图片处理,改变图片的大小;
- O,将改变后的图片保存到新文件中。