批量压缩图片

136 阅读1分钟

`# -- coding: utf-8 -- import os from PIL import Image import glob

DIR = 'E:/tmp/答疑整理/temp/imgs/' class Compress_Picture(object): def init(self): # 图片格式,可以换成.bpm等 self.file = '.jpeg'

图片压缩批处理

def compressImage(self): #用它可以查找符合特定规则的文件路径名。 for filename in glob.glob('%s%s%s' % (DIR, '*', self.file)): # print(filename) # 打开原图片压缩 sImg = Image.open(filename) w, h = sImg.size print(w, h) #Image.NEAREST :低质量Image.BILINEAR:双线性Image.BICUBIC :三次样条插值Image.ANTIALIAS:高质量 dImg = sImg.resize((1560, 2080), Image.ANTIALIAS) # 设置压缩尺寸和选项,注意尺寸要用括号

  # 如果不存在目的目录则创建一个 %s是%DIR
  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%s1%s'%(comdic, f2[0], self.file) 
  # print(f2) 
  dImg.save(f2) # save这个函数后面可以加压缩编码选项JPEG之类的 
  print("%s compressed succeeded" %f1[-1]) 

if name == "main": obj = Compress_Picture() obj.compressImage() `