图像文件压缩。使用PIL库对图像进行等比例压缩,无论压缩前文件大小如何,压缩后文件大小小于10KB。

from PIL import Image#引入PIL库中的Image类
import os#引入os 模块

使用Image类中的open()方法从文件加载图像,使用其中的size属性获得图像的宽度和高度。
os模块中的path.getsize ()方法可以获得文件的大小,单位是字节B(1B=8Bit,1KB=1024B)。

picture=input("请输入图片的名称以及格式:")
image=Image.open(picture)
size=os.path.getsize(picture)/1024
width,height=image.size

通过while循环,不断改变图像的宽度和高度,进而改变图像的内存大小。使用Image类中的resize()方法重置改变后的图像的高度和宽度,并使用save()方法将改变后的图像另存为其他名称。直到满足要求,结束循环。

ima=input("请输入修改后的图片名称和格式:")
while True:if size>10:width,height=round(width*0.9),round(height*0.9)#去掉浮点,防报错image=image.resize((width,height),Image.ANTIALIAS)image.save(ima)size=os.path.getsize(ima)/1024else:break

最后可以打印size的大小,进行查看更改后的图像内存。

print(size)

运行结果:

更改前:


更改后:

python实现图像文件等比例压缩相关推荐

  1. python(pil)图像处理(等比例压缩、裁剪压缩) 缩略(水印)图

    我在这里就不多说了,直接上代码: https://my.oschina.net/neo600/blog/136393 How do I read image data from a URL in Py ...

  2. 在Ubuntu 16.04.5 LTS上利用python 2.7中的PIL模块智能等比例压缩过大的图片集实操

    需求 有时候自媒体创作写稿时难免遇到大规模压缩某个文件夹内的图片的情况,通常我们可以使用一些批量压缩的工具来处理,但我觉得,这是小白的做法,对于我们这些经验丰富的老司机来说,使用代码来处理,将是一件高 ...

  3. 2021-02-24 Python等比例压缩与质量处理图片

    Python等比例压缩与质量处理图片 一.Python PIL 1.在使用PIL image处理图像要获取高质量的关键地方是下面两点: 1.处理时要用 ANTIALIAS:2.保存时是要设置 qual ...

  4. python图像等比例压缩_python使用pil进行图像处理(等比例压缩、裁剪)实例代码

    PIL中设计的几个基本概念 1.通道(bands):即使图像的波段数,RGB图像,灰度图像 以RGB图像为例: >>>from PIL import Image >>&g ...

  5. python等比例压缩图片_python(PIL)图像处理(等比例压缩、裁剪压缩) 缩略(水印)图详解...

    #coding:utf-8 ''' python图片处理 @author:fc_lamp @blog:http://fc-lamp.blog.163.com/ ''' import Image as ...

  6. python压缩图片像素_python使用pil进行图像处理(等比例压缩、裁剪)实例代码

    PIL中设计的几个基本概念 1.通道(bands):即使图像的波段数,RGB图像,灰度图像 以RGB图像为例: 2.模式(mode):定义了图像的类型和像素的位宽.共计9种模式: 3.尺寸(size) ...

  7. python等比例压缩图片_python图片等比例压缩

    class ImageCompressUtil(object): # 等比例压缩 def resizeImg(self, **args): try: args_key = {'ori_img': '' ...

  8. python 速度 memmap_浅析Python 读取图像文件的性能对比

    浅析Python 读取图像文件的性能对比 发布时间:2020-08-30 16:31:06 来源:脚本之家 阅读:57 作者:BriFuture''s Blog 使用 Python 读取一个保存在本地 ...

  9. php图片等比例压缩,php实现图片上传并等比例压缩

    分为两个文件,采用原始php简单粗暴的说明用法 shenshu.php 接收2个GET参数orderid,account.后面的类会根据此参数创建目录 申诉 申诉 文件名: upload_shensh ...

最新文章

  1. linux代码动态分析软件,举例分析Linux动态库和静态库
  2. Html.DropDownListFor练习(2)
  3. 使用了visual assist.net
  4. 爬取100页京东商品评论
  5. Linux下压缩、解压缩、效率,linux tar bz、bz2、gz、zip
  6. 动手学深度学习Pytorch Task01
  7. 让ubuntu在一个窗口下打开多个终端的软件——terminator
  8. eplan mysql_EPLAN SQL Server 远程数据库的搭建
  9. 文章中的代码添加语法高亮
  10. 15张图带你彻底明白spring循环依赖,再也不用怕了
  11. 新手零基础一小时学会小程序开发制作教程
  12. 【读书笔记】Vue.js 初次接触
  13. red5源码分析---1
  14. 怎样做一个拥有全局观的人
  15. 阿里云ECS(centos)中安装Tomcat
  16. Twitter无法输入密码
  17. visual studio 2019怎么能完美运行vs2017 vs2015的代码?
  18. GoogleEarth二次开发平台指南(2) ---如何把三维模型和图片导入到谷歌地球中
  19. 批量提取多个文件夹中的某类文件到指定文件夹中
  20. Irrlicht学习笔记(8)--SpecialFX

热门文章

  1. 男人在神永恒国度里的沉思录
  2. 北京科技大学 Dog类定义和测试
  3. mysql slave是什么_是mysql作用
  4. 张欲莎-老公,不要停。。。
  5. 场景调研 persona
  6. 摄像头(camera)数据传输中 码率/比特率(Bit rate) 与 带宽(Bandwidth)对应表
  7. windows安装golang多版本管理工具gvm/g
  8. Linux内存池技术
  9. 【笔试题目整理】 网易2018校园招聘数据分析师笔试卷
  10. moment 获得上月开始日期和结束日期