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中如何实现图片压缩相关推荐

  1. python图像文件压缩_python中如何实现图片压缩

    python实现图片压缩的方法:1.导入Image包:2.使用get_size(file)命令获取图片文件的大小:3.使用[os.path.splitext()]方式拼接文件地址:然后压缩文件到指定大 ...

  2. 如何压缩jpg大小?jpg图片压缩的简单方法

    我们日常的学习.工作中,经常需要收发很多jpg图片.当这些jpg图片体积过大的时候,不仅会减缓我们传输的速度,还会占用大量的电脑储存空间.那么如何将图片压缩(https://www.yasuotu.c ...

  3. 怎么把图片压缩100k?如果将图片压缩指定大小?

    很多时候想要把图片压缩大小到固定数值,这时候用压缩图的图片压缩到指定大小(图片压缩到指定大小 图片压缩大小至指定kb以下-压缩图)就非常方便,下面以图片压缩到100k以内为例子来讲解一下具体步骤. 1 ...

  4. python标准化_python中标准化

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! sdk 3.0 实现了统一化,各个语言版本的 sdk具备使用方法相同.接口调用方 ...

  5. python字符集_PYTHON 中的字符集

    Python中的字符编码是个老生常谈的话题,今天来梳理一下相关知识,希望给其他人些许帮助. Python2的 默认编码 是ASCII,不能识别中文字符,需要显式指定字符编码:Python3的 默认编码 ...

  6. python参数化_Python 中如何实现参数化测试的方法示例

    之前,我曾转过一个单元测试框架系列的文章,里面介绍了 unittest.nose/nose2 与 pytest 这三个最受人欢迎的 Python 测试框架. 本文想针对测试中一种很常见的测试场景,即参 ...

  7. kafka python框架_Python中如何使用Apache Avro——Apache的数据序列化系统

    了解如何创建和使用基于Apache Avro的数据,以实现更好,更有效的传输. 在这篇文章中,我将讨论Apache Avro,这是一种开源数据序列化系统,Spark,Kafka等工具正在使用该工具进行 ...

  8. python scrapy框架 抓取的图片路径打不开图片_Python中Scrapy爬虫图片处理详解

    下载图片 下载图片有两种方式,一种是通过 Requests 模块发送 get 请求下载,另一种是使用 Scrapy 的 ImagesPipeline 图片管道类,这里主要讲后者. 安装 Scrapy ...

  9. vue中前端实现图片压缩 file文件

    项目中遇到上传图片需要在前端进行图片压缩,将我的实现思路记录一下.(我已经拿到上传的file文件的前提下) 先创建一个公用的js,这里我的是api.js,里面封装一些常用的方法 将图片压缩的方法写到这 ...

  10. iOS中常见的图片压缩方法

    1.对图片进行压缩,iOS自带的API提供了函数对图片进行压缩 //两种方法将图片按不同的格式压缩NSData *imageData = UIImageJPEGRepresentation(info[ ...

最新文章

  1. php fopen 中文,php fopen用法是什么
  2. 判断仅有指针域的单链表是否有环且怎么找到环
  3. 2.3.5 用信号量实现 进程互斥 同步 前驱关系
  4. 2003系统管理实战 web的优化 安全
  5. 【操作系统】独立进程与协作进程
  6. 深入JVM系列(二)之GC机制、收集器与GC调优
  7. 第二十八章:化学学校
  8. jQuery用正则查找元素:jQuery选择器使用
  9. 计算机中英汉字段如何切换,电脑上中英文切换按哪个键
  10. java 夏令时jvm设置问题
  11. vbox虚拟机无法使用计算机名称,Vbox虚拟机 所选虚拟电脑不能正常访问
  12. liunx服务器日志在什么位置,系统日志查看位置(Windows+Linux)
  13. 计算机常用英语(键盘符号),计算机常用英语..docx
  14. android转 web 开发者,转战 WebApp: 最适合 Android 开发者的 WebApp 框架
  15. 计算机u盘被禁用怎么办,笔记本电脑U盘等USB设备被禁用怎么处理
  16. 远程登录工具Putty下载,并连接服务器(详细笔记)
  17. lotus 2k 测试网 多签钱包改为单签
  18. web前端面试 js部分
  19. 基于LightGBM分类实现英雄联盟数据预测(二)
  20. Linux锁定账号,禁止登录系统设置

热门文章

  1. Python实现截图AI文字识字小工具
  2. 非系统盘根目录出现Msdia80.dll文件如何处理
  3. 将视频截取成图片的C++代码
  4. NSA 将向公众开源逆向工程工具 GHIDRA
  5. oracle函数创建及调用
  6. 高速接口----JESD 204B(1)
  7. ArcGIS与GIS知识:ARCGIS中坐标转换及地理坐标、投影坐标的定义以及投影分度带的划分
  8. linux如何进入redis客户端,如何在linux下安装redis及客户端的连接
  9. linux复制文件命令
  10. unity3d 双人巡逻兵网络游戏