python缩小图片
直接代码
from PIL import Image # 读取需要调整的图片 img = r'b.png' im = Image.open(img) size = im.size im.thumbnail(size)
# 图片格式不能保存为PNG,否则图片大小可能会变大 im.save('666.jpeg')
封装一个函数,小于1m大小的图片不缩小
# 压缩图片大小方法 def photo_compress(b64_data): """ 注意:仅能处理图片格式,pdf等其他格式不行 :param b64_data: 需要压缩的base64格式的文件 :return: 压缩后的base64格式的文件 """ binary_data = base64.b64decode(b64_data) with io.BytesIO(binary_data) as im: # 判断二进制大小,小于1m的不做处理 image_b = im.read() binary_size = len(image_b) if binary_size / 1e6 < 1: return b64_data # 二进制转化为PIL im = Image.open(im) # 获取图片宽高大小 size = im.size # 压缩图片 im.thumbnail(size) # 将图片以jpeg格式的bs64返回 bytesIO = io.BytesIO() im.save(bytesIO, format='JPEG') data = bytesIO.getvalue() b64_return = base64.b64encode(data) return b64_return