日常前言
最近准备写一个摄影图片的发布功能,之前图方便就直接使用js获取图片了( https://www.messys.top/photos/ ) ,现在为了更加方便的使用该功能,当然是要加入后台管理的呀,所以便开了此篇。
先把标题的功能做出来(我不是标题党的呀!)
from PIL import Image
file = '1.jpg'
img = Image.open(file)
w,h = img.size
w,h = round(w * 0.2),round(h * 0.2) // 去掉浮点,防报错
img = img.resize((w,h), Image.ANTIALIAS)
img.save('1.jpg', optimize=True, quality=85) // 质量为85效果最好

炒鸡简单有木有,效果也很理想,压缩了十几倍,图片的成像在肉眼下依旧如初
再来试试指定宽度按比例进行批量压缩
额,这个标题好像有点长诶,但实际上,要点就是两个:
- 按指定宽度自适应高度
- 批量压缩
先来说说指定宽度,因为网站瀑布流展示图片的宽度必须为600,高度随意,比如一张图片6000x1540,指定宽度压缩过后就是600x154。所以这其实就是一道很简单的数学题,直接看到代码吧
newWidth = 600
newHeight = round(newWidth / w * h)
再然后是批量压缩,python自带的os库有一个listdir函数

本文介绍了如何使用Python进行图片等比例压缩,包括按指定宽度自适应高度的压缩和批量压缩,适用于摄影图片发布等功能,有效减小图片大小而不失真。
最低0.47元/天 解锁文章
1073





