压缩图片,调整图片的尺寸(分辨率)为固定大小,统一转存图片为jpg格式。
使用Image组件可以实现这个需求
图片压缩方法完整代码:
import glob import os import sys from PIL import Image import shutil def compressImageFileName(self,filename): # 打开原图片压缩 sImg = Image.open(filename) sImg = sImg.convert('RGB') #新加一行 w, h = sImg.size #print(w, h) #print(float(840.0/w)) dImg = sImg.resize((840, int(float(840.0/w)*h)), Image.ANTIALIAS) # 设置压缩尺寸和选项,注意尺寸要用括号 # 如果不存在目的目录则创建一个 comdic = "%scompress/"%DIR if not os.path.exists(comdic): os.makedirs(comdic) # 压缩图片路径名称 f1 = filename.split('/') f1 = f1[-1].split('\\') f2 = f1[-1].split('.') f2 = '%s%s%s'%(comdic, f2[0], '.jpg') # print(f2) dImg.save(f2,format='jpeg',quality=90) # save这个函数后面可以加压缩编码选项JPEG之类的 print("%s compressed succeeded"%f1[-1])
原图:
压缩转换后: