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

  1. python朋友圈评论_利用Python实现朋友圈中的九宫格图片效果

    前言 大家应该经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图即可. 说到切图,Python 就可以实现,主要用到的 Python 库为 Pillow,安装使 ...

  2. ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...

    本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能.分享给大家供大家参考,具体如下: why 拿到一个人物行走的素材,要用TexturePacker打包.TexturePacke ...

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

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

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

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

  5. python zipfile教程_Python中zipfile压缩文件模块的基本使用教程

    zipfile Python 中 zipfile 模块提供了对 zip 压缩文件的一系列操作. f=zipfile.ZipFile("test.zip",mode="&q ...

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

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

  7. python模块实例化_python中zipfile模块实例化解析

    文章内容由--"脚本之家"--提供,在此感谢脚本之家的贡献,该网站网址为:https://www.jb51.net/ 简介: zipfile是python里用来做zip格式编码的压 ...

  8. python模块讲解_python中常用模块详解一

    1.time 模块 import time s = time.localtime() # 把时间转化成格式化的时间,通过. 取得里面的年月日等 struct_time 格式 time.struct_t ...

  9. python把文件夹中所有的图片按顺序转换成视频

    最近需要把文件夹中多个图片转换成视频,试了一些软件发现都不好使.刚好最近又接触了 python+opencv的相关知识,索性参考网上代码,自己写了一个.发现才十几行..果然人生苦短,我用python. ...

最新文章

  1. 并查集/poj1182 noi2001食物链eat
  2. (53)进程结构体EPROCESS,擦除 DebugPort 实现反调试,ActiveProcessLinks 断链实现进程隐藏
  3. 不同图像锐化算子提取的图像信息有哪些不同_传统图像处理
  4. html5学习笔记---05.JavaScript 中的面向对象,继承和封装
  5. leetcode719:直线上的第k近点对
  6. 什么是IEC 61508?
  7. php引用()详解及注意事项
  8. linux 系统如何启动服务,如何查看和停止Linux启动的服务
  9. 华为ensp命令大全_从零开始学习华为路由交换 | 配置接口IP
  10. c语言角度转换为弧度程序,C语言之将弧度值转换为角度值
  11. 计算机一级单元格填充,电脑Excel表格怎么对不连续的单元格进行批量填充
  12. 老人步履蹒跚,警惕骨关节炎
  13. 无法找到元素 ‘aop:aspectj-autoproxy‘ 的声明
  14. 明日之后 找不到服务器,明日之后登录服务器错误怎么办 登录服务器错误请重试解决方法...
  15. 如何在比赛和项目中培养一个好的探索性分析(EDA)思维 —— 翻译自kaggle一位有趣的分享者
  16. 计算机中十六乘十六进制怎么算,16进制的乘法怎么算
  17. 【WPF】CAD工程图纸转WPF可直接使用的xaml代码技巧
  18. 每日一课 | Python处理文件系统的10种方法
  19. Android AudioFocus机制小结
  20. MySQL之分库分表

热门文章

  1. ubuntu高速下载onedrive文件
  2. 软件测试面试题-测试基础篇
  3. 专科段《财务管理》课程复习资料(1)——单项选择题
  4. matlab计算椭圆的面积,椭圆围绕MATLAB中的数据
  5. jquery里用正则来验证密码,必须包含大小写字母,数字及特殊符号,或最少包含两种
  6. Win7下微软拼音等中文输入法默认英文标点解决办法
  7. 文都网校2019年计算机考研,2019考研:如何选择专业?
  8. eclipse不用方向键移动光标
  9. 0.1.3 合宙CORE-ESP32-C3开发板用arduino点亮ST7735 1.8寸TFT屏【已更新失效链接2022.07.10】
  10. 网卡速率、带宽、上行、下行、之间关系