使用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()
相关推荐
郝学胜-神的一滴7 分钟前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再10 分钟前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
喵手2 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934732 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy2 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
肖永威3 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos
TechWJ4 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
枷锁—sha4 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
abluckyboy4 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
喵手4 小时前
Python爬虫实战:构建各地统计局数据发布板块的自动化索引爬虫(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集数据csv导出·采集各地统计局数据发布数据·统计局数据采集