介绍
本篇文章给大家分享的是有关利用python怎么对图片进行压缩,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩
一:导入包
得到PIL import 形象 import 操作系统
二:获取图片文件的大小
def get_size(文件): #,才能获取文件大小:KB 时间=size 才能;os.path.getsize(文件) return 才能;size /, 1024
三:拼接输出文件地址
def get_outfile (infile,输出文件): if 才能;输出文件: ,,,return 外部档案 dir,才能,suffix =, os.path.splitext (infile) 时间=outfile 才能;& # 39;{}治疗{}& # 39;.format (dir,后缀) return 才能输出文件
四:压缩文件到指定大小,我期望的是150 kb,步骤和质量可以修改到最合适的数值
def compress_image (infile,输出文件=& # 39;& # 39;,,mb=150,,=10步,,质量=80): “““才能不改变图片尺寸压缩到指定大小 :才能param infile:,压缩源文件 :才能param 输出文件:,压缩文件保存地址 :才能param mb:,压缩目标,KB ,,:param 步骤:,每次调整的压缩比率 ,,:param 质量:,初始压缩比率 ,,:返回:压缩文件地址,压缩文件大小 “才能”;“ 时间=o_size 才能;get_size (infile) if 才能o_size & lt;=, mb: ,,,return infile 时间=outfile 才能;get_outfile (infile,输出文件) while 才能;o_size 祝辞,mb: ,,,我=,Image.open (infile) ,,,im.save(输出文件,质量=质量) ,,,if quality 作用;step & lt;, 0: ,,,,,休息 ,,,quality -=,一步 ,,,o_size =, get_size(输出文件) return 才能,输出文件,get_size(输出文件)
五:修改图片尺寸,如果同时有修改尺寸和大小的需要,可以先修改尺寸,再压缩大小
# Python学习交流群:778463939 def resize_image (infile,输出文件=& # 39;& # 39;,,间=1376): “““才能修改图片尺寸 :才能param infile:,图片源文件 :才能param 输出文件:,重设尺寸文件保存地址 :才能param 间:,设置的宽度 ,,:返回: “才能”;“ 我才能=,Image.open (infile) ,,x, y =im.size y_s 才能=,int (y *, x_s /, x) out 才能=,im.resize ((y_s间也),Image.ANTIALIAS) 时间=outfile 才能;get_outfile (infile,输出文件) out.save才能(输出文件) if __name__ ==, & # 39; __main__ # 39;: compress_image才能(" # 39;D: \ \ space.jpg& # 39;学习) resize_image才能(" # 39;D: \ \学习space.jpg& # 39;)
以上就是利用python怎么对图片进行压缩,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。