使用pillow压缩图片存储大小

1.根据quality压缩图片改变图片大小

python 复制代码
'''
pip install pillow
'''
from PIL import Image
from io import BytesIO


with open('1.jpg', 'rb') as f:
    binPicFileObj = f.read()

# binPicFileObj 为字节串
# 将对象作为Image.open参数,象必须实现read()、seek()和tell()方法,并以二进制模式打开。
# BytesIO 被用来将读取的字节数据封装成一个类文件对象,实现了seek()、read()、write()等操作
img = Image.open(BytesIO(binPicFileObj ))
# quality值1-100决定压缩程度
# 不会改变图片分辨率即尺寸
img.save("2.jpg",quality=60)

#-----------------------------#
# # 也可以直接传入文件路径
# img = Image.open('1.jpg')
# img.save("2.jpg",quality=60)

减小到189KB

Note:

使用rb模式打开的文件返回的对象f,f.read() 方法返回的是一个字节串(bytes 对象),原封不动将文件二进制数据一个一个字节读入.

2.改变分辨率即图像尺寸

python 复制代码
from PIL import Image
from io import BytesIO

with open('1.jpg', 'rb') as f:
    p = f.read()

    
img = Image.open(BytesIO(p))
print(img.size)
# resize接受一个元组参数
imgn = img.resize((960,600))
imgn.save("2.jpg")
imgn = Image.open("2.jpg")
print(imgn.size)


imgn.close()
相关推荐
阿kun要赚马内6 分钟前
Python面向对象编程:封装性
开发语言·python
Yao.Li7 分钟前
PVN3D TensorRT 环境配置指南
人工智能·python·具身智能
zzwq.15 分钟前
Python面向对象编程(OOP)基础详解
python
LongJ_Sir1 小时前
视觉识别算法demo
python
智算菩萨1 小时前
【论文复现】ML-MLM:基于PyTorch的多标签极小学习机完整复现教程(附GPT-5.4辅助科研提示词工程)
人工智能·pytorch·python·gpt·深度学习·论文笔记
Vertira1 小时前
torch.eq、torch.ne、torch.gt、torch.lt、torch.ge、torch.le 等函数详解
pytorch·python·深度学习
高频交易dragon1 小时前
claude实现缠论(买卖点)
大数据·python
Hello.Reader1 小时前
Spark 4.0 新特性Python Data Source API 快速上手
python·ajax·spark
王小义笔记2 小时前
大模型微调步骤与精髓总结
python·大模型·llm
源码之家3 小时前
计算机毕业设计:Python汽车销量数据采集分析可视化系统 Flask框架 requests爬虫 可视化 车辆 大数据 机器学习 hadoop(建议收藏)✅
大数据·爬虫·python·django·flask·课程设计·美食