如何用Python的Pillow库来实现压缩图片的大小?

Python的Pillow库,真的特别特别的强大,特别是自己的业务范围是设计领域的,下面我们写了一个压缩图片的代码实现:

from PIL import Image

import os

 

def compress_image(infile, outfile, quality):

    """

    :param infile: 原始图像

    :param outfile: 压缩后的图像

    :param quality: 压缩质量

    """

    try:

        with Image.open(infile) as im:

            im.save(outfile, optimize=True, quality=quality)

        return True

    except Exception as e:

        print(e)

        return False

 

def compress_all_images_in_directory(indir, outdir, quality):

    """

    :param indir: 输入目录

    :param outdir: 输出目录

    :param quality: 压缩质量

    """

    if not os.path.exists(outdir):

        os.makedirs(outdir)

 

    files = os.listdir(indir)

 

    for file in files:

        infile = os.path.join(indir, file)

        outfile = os.path.join(outdir, file)

        compress_image(infile, outfile, quality)

 

if __name__ == '__main__':

    indir = 'input_directory'

    outdir = 'output_directory'

    quality = 50 # 0-100, 压缩质量越低,图像越小,但质量也会降低

 

    compress_all_images_in_directory(indir, outdir, quality)

 


要使用此代码,请将indir和outdir替换为输入和输出目录的路径,并将quality设置为0-100之间的压缩质量,其中100表示最高质量,0表示最低质量。运行代码后,将会压缩indir中的所有图像并将其保存到outdir中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值