龙空技术网

Python 实现图片大小压缩

艺赛旗RPA 146

前言:

而今你们对“python 文件压缩”都比较注意,小伙伴们都需要学习一些“python 文件压缩”的相关文章。那么小编同时在网上网罗了一些有关“python 文件压缩””的相关内容,希望同学们能喜欢,兄弟们快快来学习一下吧!

起因

截图组件配合验证码使用优化建议

既然没人帮忙解决只能自己动手了

小白先直接献上代码

from PIL import Image

import os

def compress_image(infile, outfile=’’, mb=150, step=10, quality=80):

“”“不改变图片尺寸压缩到指定大小

:param infile: 压缩源文件

:param outfile: 压缩文件保存地址

:param mb: 压缩目标,KB

:param step: 每次调整的压缩比率

:param quality: 初始压缩比率

:return: 压缩文件地址,压缩文件大小

“””

o_size = os.path.getsize(infile)/1024

if o_size <= mb:

return infile

if not outfile:

dir, suffix = os.path.splitext(infile)

outfile = ‘{}-out{}’.format(dir, suffix)

while o_size > mb:

im = Image.open(infile)

im.save(outfile, quality=quality)

if quality - step < 0:

break

quality -= step

o_size = get_size(outfile)

return outfile, get_size(outfile)

调用函数执行

查看压缩效果

查看大小

压缩前

压缩后

当然我这里的选择的图片本来也不大,验证码组件最大识别 200K, 这里将 mb 参数调整到 200 就能解决问题了。

文章来源:艺赛旗RPA社区 掉进悬崖的小白

标签: #python 文件压缩 #python图片压缩到固定尺寸