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实现朋友圈中的九宫格图片效果
前言 大家应该经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图即可. 说到切图,Python 就可以实现,主要用到的 Python 库为 Pillow,安装使 ...
- ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...
本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能.分享给大家供大家参考,具体如下: why 拿到一个人物行走的素材,要用TexturePacker打包.TexturePacke ...
- 如何压缩jpg大小?jpg图片压缩的简单方法
我们日常的学习.工作中,经常需要收发很多jpg图片.当这些jpg图片体积过大的时候,不仅会减缓我们传输的速度,还会占用大量的电脑储存空间.那么如何将图片压缩(https://www.yasuotu.c ...
- 怎么把图片压缩100k?如果将图片压缩指定大小?
很多时候想要把图片压缩大小到固定数值,这时候用压缩图的图片压缩到指定大小(图片压缩到指定大小 图片压缩大小至指定kb以下-压缩图)就非常方便,下面以图片压缩到100k以内为例子来讲解一下具体步骤. 1 ...
- python zipfile教程_Python中zipfile压缩文件模块的基本使用教程
zipfile Python 中 zipfile 模块提供了对 zip 压缩文件的一系列操作. f=zipfile.ZipFile("test.zip",mode="&q ...
- python scrapy框架 抓取的图片路径打不开图片_Python中Scrapy爬虫图片处理详解
下载图片 下载图片有两种方式,一种是通过 Requests 模块发送 get 请求下载,另一种是使用 Scrapy 的 ImagesPipeline 图片管道类,这里主要讲后者. 安装 Scrapy ...
- python模块实例化_python中zipfile模块实例化解析
文章内容由--"脚本之家"--提供,在此感谢脚本之家的贡献,该网站网址为:https://www.jb51.net/ 简介: zipfile是python里用来做zip格式编码的压 ...
- python模块讲解_python中常用模块详解一
1.time 模块 import time s = time.localtime() # 把时间转化成格式化的时间,通过. 取得里面的年月日等 struct_time 格式 time.struct_t ...
- python把文件夹中所有的图片按顺序转换成视频
最近需要把文件夹中多个图片转换成视频,试了一些软件发现都不好使.刚好最近又接触了 python+opencv的相关知识,索性参考网上代码,自己写了一个.发现才十几行..果然人生苦短,我用python. ...
最新文章
- 从ASP.NET传递参数给水晶报表
- 31 天重构学习笔记5. 提升字段
- 利用Reachability实现网络状态监听
- Git 回滚动任意版本
- w3wp oracle,w3wp.exe占用CPU超过50%的处理
- 爱情才是程序员的第一生产力
- [学习总结]6、Android异步消息处理机制完全解析,带你从源码的角度彻底理解
- computed 计算选项
- galgame安卓_史上最强教程!教你如何在安卓和ios上运行GALgame!
- 计算机术语中bug指的是,BUG是什么意思?为什么用bug代指漏洞?
- 分享一个很棒的免费壁纸网站
- 银保监机构保险许可证数据(2007-2022年)
- 关于微服务的三个厄运问题
- h3cr4900g3安装系统_H3C R4900 G2服务器通过HDM安装系统
- 6、API网关 Zuul
- 五大要求让BPM与企业对接
- linux网络之怪现象一--接网线启动网络不通,不接网线启动再插线网络通
- Logger日志文件记录
- 零售界的“GDP联盟” 正在打破流量贫瘠魔咒?
- 加拿大前十大学计算机硕士学费,加拿大各大学硕士学费的情况介绍