怎么把python压缩_python中如何实现图片压缩
python实现图片压缩的方法:1、导入Image包;2、使用get_size(file)命令获取图片文件的大小;3、使用【os.path.splitext()】方式拼接文件地址;然后压缩文件到指定大小;4、修改图片尺寸即可。
一、导入包from PIL import Image
import os
二、获取图片文件的大小def get_size(file):
# 获取文件大小:KB
size = os.path.getsize(file)
return size / 1024
三、拼接输出文件地址def get_outfile(infile, outfile):
if outfile:
return outfile
dir, suffix = os.path.splitext(infile)outfile = '{}-out{}'.format(dir, suffix)
return outfile
四、压缩文件到指定大小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 = get_size(infile)
if o_size <= mb:
return infile
outfile = get_outfile(infile, outfile)
while o_size > mb:
im = Image.open(infile)
im.save(outfile, quality=quality)
if quality - step
break
quality -= step
o_size = get_size(outfile)
return outfile, get_size(outfile)
五、修改图片尺寸def resize_image(infile, outfile='', x_s=1376):
"""修改图片尺寸
:param infile: 图片源文件
:param outfile: 重设尺寸文件保存地址
:param x_s: 设置的宽度
:return:
"""
im = Image.open(infile)
x, y = im.size
y_s = int(y * x_s / x)
out = im.resize((x_s, y_s), Image.ANTIALIAS)
outfile = get_outfile(infile, outfile)
out.save(outfile)
if __name__ == '__main__':
compress_image(r'D:\learn\space.jpg')
resize_image(r'D:\learn\space.jpg')
怎么把python压缩_python中如何实现图片压缩相关推荐
- python图像文件压缩_python中如何实现图片压缩
python实现图片压缩的方法:1.导入Image包:2.使用get_size(file)命令获取图片文件的大小:3.使用[os.path.splitext()]方式拼接文件地址:然后压缩文件到指定大 ...
- 如何压缩jpg大小?jpg图片压缩的简单方法
我们日常的学习.工作中,经常需要收发很多jpg图片.当这些jpg图片体积过大的时候,不仅会减缓我们传输的速度,还会占用大量的电脑储存空间.那么如何将图片压缩(https://www.yasuotu.c ...
- 怎么把图片压缩100k?如果将图片压缩指定大小?
很多时候想要把图片压缩大小到固定数值,这时候用压缩图的图片压缩到指定大小(图片压缩到指定大小 图片压缩大小至指定kb以下-压缩图)就非常方便,下面以图片压缩到100k以内为例子来讲解一下具体步骤. 1 ...
- python标准化_python中标准化
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! sdk 3.0 实现了统一化,各个语言版本的 sdk具备使用方法相同.接口调用方 ...
- python字符集_PYTHON 中的字符集
Python中的字符编码是个老生常谈的话题,今天来梳理一下相关知识,希望给其他人些许帮助. Python2的 默认编码 是ASCII,不能识别中文字符,需要显式指定字符编码:Python3的 默认编码 ...
- python参数化_Python 中如何实现参数化测试的方法示例
之前,我曾转过一个单元测试框架系列的文章,里面介绍了 unittest.nose/nose2 与 pytest 这三个最受人欢迎的 Python 测试框架. 本文想针对测试中一种很常见的测试场景,即参 ...
- kafka python框架_Python中如何使用Apache Avro——Apache的数据序列化系统
了解如何创建和使用基于Apache Avro的数据,以实现更好,更有效的传输. 在这篇文章中,我将讨论Apache Avro,这是一种开源数据序列化系统,Spark,Kafka等工具正在使用该工具进行 ...
- python scrapy框架 抓取的图片路径打不开图片_Python中Scrapy爬虫图片处理详解
下载图片 下载图片有两种方式,一种是通过 Requests 模块发送 get 请求下载,另一种是使用 Scrapy 的 ImagesPipeline 图片管道类,这里主要讲后者. 安装 Scrapy ...
- vue中前端实现图片压缩 file文件
项目中遇到上传图片需要在前端进行图片压缩,将我的实现思路记录一下.(我已经拿到上传的file文件的前提下) 先创建一个公用的js,这里我的是api.js,里面封装一些常用的方法 将图片压缩的方法写到这 ...
- iOS中常见的图片压缩方法
1.对图片进行压缩,iOS自带的API提供了函数对图片进行压缩 //两种方法将图片按不同的格式压缩NSData *imageData = UIImageJPEGRepresentation(info[ ...
最新文章
- php fopen 中文,php fopen用法是什么
- 判断仅有指针域的单链表是否有环且怎么找到环
- 2.3.5 用信号量实现 进程互斥 同步 前驱关系
- 2003系统管理实战 web的优化 安全
- 【操作系统】独立进程与协作进程
- 深入JVM系列(二)之GC机制、收集器与GC调优
- 第二十八章:化学学校
- jQuery用正则查找元素:jQuery选择器使用
- 计算机中英汉字段如何切换,电脑上中英文切换按哪个键
- java 夏令时jvm设置问题
- vbox虚拟机无法使用计算机名称,Vbox虚拟机 所选虚拟电脑不能正常访问
- liunx服务器日志在什么位置,系统日志查看位置(Windows+Linux)
- 计算机常用英语(键盘符号),计算机常用英语..docx
- android转 web 开发者,转战 WebApp: 最适合 Android 开发者的 WebApp 框架
- 计算机u盘被禁用怎么办,笔记本电脑U盘等USB设备被禁用怎么处理
- 远程登录工具Putty下载,并连接服务器(详细笔记)
- lotus 2k 测试网 多签钱包改为单签
- web前端面试 js部分
- 基于LightGBM分类实现英雄联盟数据预测(二)
- Linux锁定账号,禁止登录系统设置