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

import base64
import io
import os
from PIL import Image
from PIL import ImageFile# 压缩图片文件
def compress_image(outfile, mb=190, quality=85, k=0.9):"""不改变图片尺寸压缩到指定大小:param outfile: 压缩文件保存地址:param mb: 压缩目标,KB:param step: 每次调整的压缩比率:param quality: 初始压缩比率:return: 压缩文件地址,压缩文件大小"""o_size = os.path.getsize(outfile) // 1024print(o_size, mb)if o_size <= mb:return outfileImageFile.LOAD_TRUNCATED_IMAGES = Truewhile o_size > mb:im = Image.open(outfile)x, y = im.sizeout = im.resize((int(x*k), int(y*k)), Image.ANTIALIAS)try:out.save(outfile, quality=quality)except Exception as e:print(e)breako_size = os.path.getsize(outfile) // 1024return outfile# 压缩base64的图片
def compress_image_bs4(b64, mb=190, k=0.9):"""不改变图片尺寸压缩到指定大小:param outfile: 压缩文件保存地址:param mb: 压缩目标,KB:param step: 每次调整的压缩比率:param quality: 初始压缩比率:return: 压缩文件地址,压缩文件大小"""f = base64.b64decode(b64)with io.BytesIO(f) as im:o_size = len(im.getvalue()) // 1024if o_size <= mb:return b64im_out = imwhile o_size > mb:img = Image.open(im_out)x, y = img.sizeout = img.resize((int(x*k), int(y*k)), Image.ANTIALIAS)im_out.close()im_out = io.BytesIO()out.save(im_out, 'jpeg')o_size = len(im_out.getvalue()) // 1024b64 = base64.b64encode(im_out.getvalue())im_out.close()return str(b64, encoding='utf8')

python不改变图片尺寸压缩到指定大小相关推荐

  1. python不改变图片尺寸压缩到指定大小 1

    python不改变图片尺寸压缩到指定大小 import base64 import io import os from PIL import Image from PIL import ImageFi ...

  2. python更改图片存储大小_python不改变图片尺寸压缩到指定大小

    python不改变图片尺寸压缩到指定大小 import base64 import io import os from PIL import Image from PIL import ImageFi ...

  3. python批量压缩图片_Python图片批量压缩到指定大小并将JPG转为PNG格式

    背景: 待压缩的图片大小有几十KB到近10M大小不等,且绝大部分图片为JPG格式.这些待压缩图片放在picture文件夹下 以及picture文件夹下的子文件夹中 现需要将picture文件夹下这些图 ...

  4. Python图片批量压缩到指定大小并将JPG转为PNG格式

    背景: 待压缩的图片大小有几十KB到近10M大小不等,且绝大部分图片为JPG格式.这些待压缩图片放在picture文件夹下 以及picture文件夹下的子文件夹中 现需要将picture文件夹下这些图 ...

  5. 图片怎么压缩成指定大小?如何将照片变成规定大小?

    如何压缩png图片200k以下?推荐使用压缩图的图片压缩成指定大小(图片压缩到指定大小 图片压缩大小至指定kb以下-压缩图)功能来压缩png图片到想要的大小,下面是具体步骤. 1.使用浏览器打开压缩图 ...

  6. 照片怎么改大小300k?图片怎么压缩到指定大小?

    我们在上传照片的时候经常会提示照片大小超过上限,需要将照片压缩到300k以下,那么照片怎么改大小300k呢?这里推荐大家使用压缩图片的图片压缩指定大小(图片压缩到指定大小 图片压缩大小至指定kb以下- ...

  7. python批量改变图片尺寸

    前言   我们常常需要批量改变图片的尺寸,使用下面的代码可以根据需要批量进行修改,只需要替换文件路径和想修改的尺寸即可.   这里使用resize改变尺寸是利用pillow包中Image类中的resi ...

  8. python --压缩图片不改变图片尺寸

    方法1 from PIL import Image import osdef compress_image(infile, outfile, quality=50):""" ...

  9. iOS图片压缩成指定大小

    在iOS中涉及一些图片显示和处理问题,在实际中碰到过修改账户头像时上传头像出现 error = Error Domain=com.alamofire.error.serialization.respo ...

最新文章

  1. 如何设置chrome谷歌浏览器不显示图片
  2. Tungsten Fabric SDN — Device Manager
  3. C++中为何构造函数不可是虚函数,而析构函数可以?
  4. 用jiebaR分析比特币的文章
  5. android onitemclicklistener 参数,android – OnItemClickListener从模型中获取数据
  6. 都说Hadoop与大数据平台难懂?我就花了6分钟,但是看得明明白白
  7. UI设计师应该知道的,APP设计师的辅助小工具网站集合导航
  8. easyui 渲染问题(转)
  9. java多线程Lock接口简介使用与synchronized对比 多线程下篇(三)
  10. u-boot 设置mac 地址
  11. php hscan,hgetall 替代 hscan的用法详解。
  12. Autodesk Maya 2009标准培训教材
  13. aspen稳态导出动态_Aspen Dynamics在控制中的应用
  14. 计算机视觉论文-2021-03-31
  15. MyBatis入门+概述
  16. 嵌入式linux机械臂,一款基于ARM嵌入式的机械臂的设计与实现
  17. 探究“补阶乘大法的本质“——糖水不等式
  18. 面试:你印象最深的BUG,举个例子
  19. SQL-2008函数大全
  20. 再论人与人的三大关系:生存关系、性关系和经济关系

热门文章

  1. 2016 计蒜之道 初赛 第一场 青云的服务器密钥
  2. 字典特征提取,文本特征提取。
  3. oracle xe连接数,解决Oracle XE允许连接的用户数不足问题
  4. ja-netfilter-all,IntelliJ IDEA 2021.3.2 (Ultimate Edition)
  5. Visio图标下载链接
  6. MCS-51单片机内部结构——CPU结构 单片机原理学习笔记(二)
  7. 二维插值-MATLAB
  8. MeterSphere:超好用的开源测试平台
  9. usb扫描枪驱动下载 wince_wince下USB设备驱动程序
  10. .obj文件格式与.mtl文件格式(转)