Pillow JPEG格式

2021-07-09 15:28 更新

Pillow 可以读取包含LRGB或 CMYK数据的JPEG,JFIF和Adobe JPEG文件。它编写标准和渐进式 JFIF 文件。

使用 ​draft() ​方法,您可以通过转换 ​RGB ​图像到 ​​,并在加载图像时将其大小调整为原始尺寸的1/2、1/4或1/8。

默认情况下,Pillow不允许加载截断的JPEG文件,可以设置 ​ImageFile.LOAD_TRUNCATED_IMAGES ​来覆盖他。

如果可用,该​open()​方法可以设置以下 ​info​ 属性:

  • jfif ​ 找到JFIF应用程序标记。如果文件不是JFIF文件,则此值不存在。
  • jfif_version ​表示JFIF版本(主版本、次版本)的元组。
  • jfif_density ​ 表示图像像素密度的元组,单位由jfif_unit指定
  • jfif_unit ​ jfif_密度的单位:

                0 - 无单位

                1 - 每英寸像素

                2 - 每厘米像素

  • dpi ​一个元组,表示报告的像素密度(以每英寸像素为单位),如果文件是JFIF文件,单位为英寸。
  • adobe ​ 找到Adobe应用程序标记。如果文件不是Adobe JPEG文件,则该值不存在。
  • adobe_transform​ 供应商特定标签。
  • progression ​ 表示这是一个渐进式JPEG文件。
  • icc_profile​ 图像的ICC颜色配置文件。
  • exif ​ 来自图像的原始exif数据。
  • comment​ 关于图像的评论。

7.1.0 新版功能.

这个​ save()​ 方法支持以下选项:

  • quality ​ 图像质量,范围从0(最差)到95(最佳)。默认值为75。应避免大于95的值;100禁用部分JPEG压缩算法,并导致大文件几乎没有任何图像质量增益。
  • optimize​ 如果存在且为真,则表示编码器应额外传递图像以选择最佳编码器设置。
  • progressive​ 如果存在且为真,则表示此图像应存储为渐进式jpeg文件。
  • dpi ​表示像素密度的整数元组, (x,y) 。
  • icc_profile ​ 如果存在且为真,图像将与提供的ICC配置文件一起存储。如果未提供此参数,则保存图像时不会附加配置文件。要保留现有配置文件,请执行以下操作:
im.save(filename, 'jpeg', icc_profile=im.info.get('icc_profile'))
  • exif ​ 如果存在,图像将与提供的原始exif数据一起存储。
  • subsampling​ 如果存在,设置编码器的子采样。
    • keep ​:仅对jpeg文件有效,将保留原始图像设置。
    • 4:4:4 ​,​ 4:2:2​ , ​4:2:0​ :特定采样值
    • -1​: 相当于 ​keep
    • 0​: 相当于 ​4:4:4
    • 1​: 相当于 ​4:2:2
    • 2​: 相当于 ​ 4:2:0
  • qtables​ 如果存在,设置编码器的qtables。这被列为jpeg文档中向导的高级选项。小心使用。 ​qtables ​可以是以下几种值之一:
    • 用于命名预设的字符串,例如 ​keep ​, ​web_low ​或 ​web_high
    • 64个整数列表的列表、元组或字典(integer keys = range(len(keys)))。必须有2到4张表。

2.5.0 新版功能.

要启用jpeg支持,您需要在构建python图像库之前构建和安装ijg jpeg库。有关详细信息,请参阅分发自述文件。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号