python改变图像大小在指定要求范围内

前言

  思路大致是降低图片质量缩小图片大小,加了一个循环判断,如果图像大小不在要求范围内,图像质量就从100递减,以5递减图片质量直到图像压缩到这个范围内。

代码如下:

import os
from PIL import Image

def compress_image(image_path, output_path, max_size=200 * 1024):
    # 读取图像
    image = Image.open(image_path)

    # 设置初始图像质量
    quality = 100
    # 循环直到图像大小小于200KB
    while True:
        # 将图像保存为JPEG格式
        image.save(output_path, format="JPEG", quality=quality)

        # 计算输出图像的大小
        output_size = os.path.getsize(output_path)
        # 如果图像大小小于200KB,则退出循环
        if output_size <= max_size:
            break

        # 否则降低图像质量并继续循环
        quality -= 5

# 将图像从原始路径读取并压缩到输出路径
compress_image(r"input.jpg", "output.jpg")


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张Tt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值