Pillow JPEG格式
2021-07-09 15:28 更新
Pillow 可以读取包含L
,RGB
或 CMYK
数据的JPEG,JFIF和Adobe JPEG文件。它编写标准和渐进式 JFIF 文件。
使用 draft()
方法,您可以通过转换 RGB
图像到 L
,并在加载图像时将其大小调整为原始尺寸的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库。有关详细信息,请参阅分发自述文件。
以上内容是否对您有帮助:
更多建议: