图片压缩功能
This commit is contained in:
parent
1dfb9626cc
commit
0b8884cc2a
|
@ -0,0 +1,25 @@
|
|||
import os
|
||||
from PIL import Image
|
||||
|
||||
def compress_image(infile, outfile='', kb=80, step=10, quality=80):
|
||||
"""不改变图片尺寸压缩到指定大小
|
||||
:param infile: 压缩源文件
|
||||
:param outfile: 压缩文件保存地址
|
||||
:param kb: 压缩目标, KB
|
||||
:param step: 每次调整的压缩比率
|
||||
:param quality: 初始压缩比率
|
||||
:return: 压缩文件地址,压缩文件大小
|
||||
"""
|
||||
o_size = os.path.getsize(infile)/1024
|
||||
if o_size <= kb:
|
||||
return infile
|
||||
if outfile == '':
|
||||
outfile = infile
|
||||
while o_size > kb:
|
||||
im = Image.open(infile)
|
||||
im.save(outfile, quality=quality)
|
||||
if quality - step < 0:
|
||||
break
|
||||
quality -= step
|
||||
o_size = os.path.getsize(outfile)/1024
|
||||
return outfile, o_size
|
Loading…
Reference in New Issue