如何用Python的Pillow库来实现压缩图片的大小?
创始人
2024-05-31 13:46:48

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中。

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...