python批量修改图片大小--pathlib库

利用python自带的pathlib库批量修改单个文件夹中的图片大小

文件结构:

└── [drwxr-xr-x] ./mydir
    ├── [drwxr-xr-x] ./mydir/sourceimg/
    └── [drwxr-xr-x] ./mydir/changedimg/
    └── [drwxr-xr-x] ./mydir/foo.py
cd mydir
python foo.py
from PIL import Image
from pathlib import Path
   
if __name__ == '__main__': 
  #源图片路径
  file_path='./sourceimg/'
  p = Path(file_path)
  #修改大小后图片的存放路径
  path_save = "./changedimg/"
  for file in p.rglob('*.JPG'):
      name = Path(path_save).joinpath(file.name)
      im = Image.open(file)
      #想要转换成的图片大小为1200*1600
      #thumbnail()会进行等比例缩放,两个参数分别为最大宽/高范围,不一定能输出想要的尺寸。
      #resize()会将图片进行变形拉扯,不是等比列的,但是可以输出正确的尺寸。
      #im.thumbnail((1200,1600))
      im=im.resize((1200,1600))
      print(im.format, im.size, im.mode)
      im.save(name,'JPEG')

你可能感兴趣的:(python)