JpegPresets 模块

与 Photoshop 设置等效的 JPEG 质量设置。保存 JPEG 文件时可以使用。

默认情况下,以下预设可用:web_lowweb_mediumweb_highweb_very_highweb_maximumlowmediumhighmaximum。如果需要,可以将更多预设添加到 presets 字典中。

要应用预设,请指定

quality="preset_name"

要仅应用量化表

qtables="preset_name"

要仅应用子采样设置

subsampling="preset_name"

示例

im.save("image_name.jpg", quality="web_high")

子采样

子采样是在对图像进行编码时,对色度信息实现比亮度信息更低分辨率的做法。(参考:https://en.wikipedia.org/wiki/Chroma_subsampling)

可能的子采样值是 0、1 和 2,分别对应于 4:4:4、4:2:2 和 4:2:0。

可以使用 JpegImagePlugin.get_sampling() 函数获取 JPEG 的子采样。

在 JPEG 压缩数据中,使用 JPEG 标记而不是 EXIF 标签。(参考:https://exiv2.org/tags.html)

量化表

它们是由 DCT (离散余弦变换) 使用的值,用于从图像中去除不必要的信息(压缩的无损部分)。(参考:https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matriceshttps://en.wikipedia.org/wiki/JPEG#Quantization)

可以使用以下方法获取 JPEG 的量化表

im.quantization

这将返回一个包含多个列表的字典。保存 JPEG 时,可以将此字典直接作为 qtables 参数传递。

预设中的量化表格式是带有子列表的列表。这些格式是可互换的。

Libjpeg 参考:https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html

PIL.JpegPresets.presets: dict

所有支持的预设的字典。