利用Python进行博客图片压缩
自己写博客的时候常常要插入一些手机拍的照片,都是几M的大小,每张手动压缩太费事了,于是根据自己博客的排版特点用Python写了一个简单的图片压缩脚本,功能是将博客图片生成缩略图,横屏的图片压缩为宽度最大1280像素,竖屏的图片压缩为宽度最大1000像素。
代码如下:
#!/usr/bin/env python3 # coding=utf-8 ' 蒋方正Python函数库 ' __author__ = 'Sandeepin' import math import os from PIL import Image # 功能:博客图片生成缩略图,1280横屏压缩,1000竖屏压缩 # 参数:图片名称 # 返回:OK,保存同名文件在thumb目录下 def JfzBlogImgThumb(ImgName): im = Image.open(ImgName) print('格式',im.format, ',分辨率',im.size, ',色彩',im.mode) if max(im.size[0], im.size[1]) > 1000: if im.size[0] > im.size[1]: im.thumbnail((1280, 1280)) else: im.thumbnail((1000, 1000)) if ImgName.endswith('.JPG'): ImgName = ImgName.replace('.JPG','.jpg') if ImgName.endswith('.png'): ImgName = ImgName.replace('.png','.jpg') if ImgName.endswith('.PNG'): ImgName = ImgName.replace('.PNG','.jpg') im.save('thumb\\'+ImgName, 'JPEG', quality=90) #if max(im.size[0], im.size[1]) <= 1000: # im.save('thumb\\'+ImgName, 'JPEG', quality=100) return 'OK' # JfzBlogImgThumb('1.jpg') # JfzBlogImgThumb('2.jpg') # 列出当前目录所有jpg文件 lst=os.listdir(os.getcwd()) imgname = [c for c in lst if os.path.isfile(c) and (c.endswith('.jpg') or c.endswith('.JPG') or c.endswith('.png') or c.endswith('.PNG'))] print(imgname) # 全处理 OutCheck = map(JfzBlogImgThumb,imgname) print(list(OutCheck))