当前位置: 首页 > news >正文

python+pillow+Image实现图片压缩到指定大小

本次使用的是python 3.6

先安装 pip install pillow

from PIL import Image
import os
img_path = r"H:\pythonworkspace\test\a.jpg"
img_path_2 = r"H:\pythonworkspace\test\test.jpg"


# 下面这种写法也可以
# img_path = "H:\\pythonworkspace\\test\\a.jpg"
# img_path_2 = "H:\\pythonworkspace\\test\\test1.jpg"

# img = Image.open(img_path)
def compress_image(input_path, output_path, max_size_kb=200):
# 打开图片
img = Image.open(input_path)
# 初始质量(1-100,越高越清晰)
quality = 85
# 循环调整质量,直到文件小于目标大小
while True:
# 保存图片(JPEG格式支持质量参数)
img.save(output_path, "JPEG", quality=quality, optimize=True)
# 检查文件大小
file_size_kb = os.path.getsize(output_path) / 1024
if file_size_kb <= max_size_kb or quality <= 10:
break
# 每次质量降低5(可按需调整步长)
quality -= 5
print(f"压缩完成!最终大小:{file_size_kb:.1f}KB,使用质量:{quality}")
# 调用函数(替换为你的图片路径)
compress_image(img_path, img_path_2, max_size_kb=185)


http://www.rkmt.cn/news/11916.html

相关文章:

  • 3D 高斯训练速度和消耗 - MKT
  • 完整教程:【PyTorch实战:文本分类】23、BERT文本分类实战指南:从原理到PyTorch落地
  • proxifier联合burpsuite抓包小程序,但是小程序连不上网解决办法(亲测)
  • 完整教程:C语言——函数(超详细分析)
  • 用 Swift 和 Tesseract OCR 实现验证码识别
  • 校园交友|基于SprinBoot+vue的校园交友网站(源码+数据库+文档) - 实践
  • 告别单张保存!PPT 图片无损批量提取,这 3 种方法亲测有效!
  • ?模拟赛(2) 赛后总结
  • 【C语言】C语言预处理详解,从基础到进阶的全面讲解 - 指南
  • 掌握C2重定向器:红蓝队攻防实战指南
  • Avalonia:开发Android应用
  • 多GPU本地布署Wan2.2-T2V-A14B文本转视频模型 - yi
  • 软工9.25
  • P8367 [LNOI2022] 盒
  • Polar2025秋季个人挑战赛web-writeup
  • 通过【开题答辩过程】以《基于JavaEE的创意产品众筹平台的设计与实现》为例,不会开题答辩的能够进来看看
  • 如何在CentOS 7上安装bzip2-1.0.6-13.el7.x86_64.rpm RPM包(详细步骤)
  • 2025年Java常见面试题
  • 实用指南:k8s 跟 nacos 关于服务注册以及服务发现
  • AT_agc021_d [AGC021D] Reversed LCS
  • adb shell 常用文件命令
  • 你所不知道的Spring的@Autowired实现细节
  • Java文件编程
  • 苏联的经典数学教材
  • redis实现分布式锁1
  • 深入解析:SQL 字符串函数高频考点:LIKE 和 SUBSTRING 的区别
  • Etcd详解:Kubernetes的大脑与记忆库 - 实践
  • go 语法里变量前面增加、*区别
  • 20250922_QQ_backdoor
  • 卓伊凡的第一款独立游戏-unity安装运行设置以及熟悉整体unity游戏开发和unity editor【02】-优雅草卓伊凡