python不改变图片尺寸压缩到指定大小
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不改变图片尺寸压缩到指定大小相关推荐
- python不改变图片尺寸压缩到指定大小 1
python不改变图片尺寸压缩到指定大小 import base64 import io import os from PIL import Image from PIL import ImageFi ...
- python更改图片存储大小_python不改变图片尺寸压缩到指定大小
python不改变图片尺寸压缩到指定大小 import base64 import io import os from PIL import Image from PIL import ImageFi ...
- python批量压缩图片_Python图片批量压缩到指定大小并将JPG转为PNG格式
背景: 待压缩的图片大小有几十KB到近10M大小不等,且绝大部分图片为JPG格式.这些待压缩图片放在picture文件夹下 以及picture文件夹下的子文件夹中 现需要将picture文件夹下这些图 ...
- Python图片批量压缩到指定大小并将JPG转为PNG格式
背景: 待压缩的图片大小有几十KB到近10M大小不等,且绝大部分图片为JPG格式.这些待压缩图片放在picture文件夹下 以及picture文件夹下的子文件夹中 现需要将picture文件夹下这些图 ...
- 图片怎么压缩成指定大小?如何将照片变成规定大小?
如何压缩png图片200k以下?推荐使用压缩图的图片压缩成指定大小(图片压缩到指定大小 图片压缩大小至指定kb以下-压缩图)功能来压缩png图片到想要的大小,下面是具体步骤. 1.使用浏览器打开压缩图 ...
- 照片怎么改大小300k?图片怎么压缩到指定大小?
我们在上传照片的时候经常会提示照片大小超过上限,需要将照片压缩到300k以下,那么照片怎么改大小300k呢?这里推荐大家使用压缩图片的图片压缩指定大小(图片压缩到指定大小 图片压缩大小至指定kb以下- ...
- python批量改变图片尺寸
前言 我们常常需要批量改变图片的尺寸,使用下面的代码可以根据需要批量进行修改,只需要替换文件路径和想修改的尺寸即可. 这里使用resize改变尺寸是利用pillow包中Image类中的resi ...
- python --压缩图片不改变图片尺寸
方法1 from PIL import Image import osdef compress_image(infile, outfile, quality=50):""" ...
- iOS图片压缩成指定大小
在iOS中涉及一些图片显示和处理问题,在实际中碰到过修改账户头像时上传头像出现 error = Error Domain=com.alamofire.error.serialization.respo ...
最新文章
- 如何设置chrome谷歌浏览器不显示图片
- Tungsten Fabric SDN — Device Manager
- C++中为何构造函数不可是虚函数,而析构函数可以?
- 用jiebaR分析比特币的文章
- android onitemclicklistener 参数,android – OnItemClickListener从模型中获取数据
- 都说Hadoop与大数据平台难懂?我就花了6分钟,但是看得明明白白
- UI设计师应该知道的,APP设计师的辅助小工具网站集合导航
- easyui 渲染问题(转)
- java多线程Lock接口简介使用与synchronized对比 多线程下篇(三)
- u-boot 设置mac 地址
- php hscan,hgetall 替代 hscan的用法详解。
- Autodesk Maya 2009标准培训教材
- aspen稳态导出动态_Aspen Dynamics在控制中的应用
- 计算机视觉论文-2021-03-31
- MyBatis入门+概述
- 嵌入式linux机械臂,一款基于ARM嵌入式的机械臂的设计与实现
- 探究“补阶乘大法的本质“——糖水不等式
- 面试:你印象最深的BUG,举个例子
- SQL-2008函数大全
- 再论人与人的三大关系:生存关系、性关系和经济关系
热门文章
- 2016 计蒜之道 初赛 第一场 青云的服务器密钥
- 字典特征提取,文本特征提取。
- oracle xe连接数,解决Oracle XE允许连接的用户数不足问题
- ja-netfilter-all,IntelliJ IDEA 2021.3.2 (Ultimate Edition)
- Visio图标下载链接
- MCS-51单片机内部结构——CPU结构 单片机原理学习笔记(二)
- 二维插值-MATLAB
- MeterSphere:超好用的开源测试平台
- usb扫描枪驱动下载 wince_wince下USB设备驱动程序
- .obj文件格式与.mtl文件格式(转)