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. 从ASP.NET传递参数给水晶报表
  2. 31 天重构学习笔记5. 提升字段
  3. 利用Reachability实现网络状态监听
  4. Git 回滚动任意版本
  5. w3wp oracle,w3wp.exe占用CPU超过50%的处理
  6. 爱情才是程序员的第一生产力
  7. [学习总结]6、Android异步消息处理机制完全解析,带你从源码的角度彻底理解
  8. computed 计算选项
  9. galgame安卓_史上最强教程!教你如何在安卓和ios上运行GALgame!
  10. 计算机术语中bug指的是,BUG是什么意思?为什么用bug代指漏洞?
  11. 分享一个很棒的免费壁纸网站
  12. 银保监机构保险许可证数据(2007-2022年)
  13. 关于微服务的三个厄运问题
  14. h3cr4900g3安装系统_H3C R4900 G2服务器通过HDM安装系统
  15. 6、API网关 Zuul
  16. 五大要求让BPM与企业对接
  17. linux网络之怪现象一--接网线启动网络不通,不接网线启动再插线网络通
  18. Logger日志文件记录
  19. 零售界的“GDP联盟” 正在打破流量贫瘠魔咒?
  20. 加拿大前十大学计算机硕士学费,加拿大各大学硕士学费的情况介绍

热门文章

  1. Windows删除空文件夹脚本
  2. 【原创】基于vue。简单、优雅的评论插件(包含颜文字表情、滑动验证)。
  3. 2021-11-08 打印购物小票
  4. [数据分析方法论]数据分析篇|基于推断统计学,把握问题核心洞悉数据
  5. vi与vim编辑器区别
  6. java编程--模拟酒店房间管理系统
  7. 相位噪声理论简记(I)Hajimiri模型
  8. 深度学习入门--斋藤康毅 总结
  9. 最新在线HTML代码编辑器源码+支持代码高亮
  10. Windows10手动设置代理