在这篇博客中,我们将介绍如何使用 Python 的 PIL 库来压缩 PNG 图像。这是一个简单但非常实用的技术,可以帮助我们减少图像文件的大小,从而提高网页加载速度,节省存储空间等。
代码解析
首先,让我们看一下代码:
from PIL import Image
def compress_png(input_path, output_path, quality=90):
# 打开图片
img = Image.open(input_path)
# 保存图片,使用优化选项和质量参数
img.save(output_path, optimize=True, quality=quality)
# 使用函数进行压缩
compress_png(r'frame_00000.png', 'output.png')
这段代码的主要部分是 compress_png
函数,它接受三个参数:输入图像的路径、输出图像的路径和压缩质量。
函数首先使用 Image.open()
方法打开输入路径的图像。然后,它使用 img.save()
方法保存图像,同时设置 optimize=True
和 quality=90
。这两个参数分别表示是否优化图像以减少文件大小,以及输出图像的质量(0-100,100 表示最高质量)。
最后,我们调用 compress_png
函数,将 frame_00000.png
压缩并保存为 output.png
。
注意事项
虽然这个函数非常简单,但在使用它时,还需要注意一些事项:
-
文件格式:虽然这个函数名为
compress_png
,但实际上它可以处理任何 PIL 支持的图像格式。然而,不是所有的图像格式都支持optimize
和quality
参数。例如,对于 PNG 图像,quality
参数实际上控制的是压缩级别。 -
图像质量:
quality
参数可以控制输出图像的质量。值越高,图像质量越好,但文件大小也越大。你需要根据自己的需求来选择合适的质量级别。