Pillow PNG格式
Pillow 可以识别、读取和写入包含 1 , L , LA , I , P , RGB 或 RGBA 数据。从v1.1.7开始支持交错文件。
从Pillow6.0开始,可以从PNG图像读取exif数据。但是,与其他图像格式不同的是,exif数据不能保证存在 info 直到 load() 被调用。
默认情况下,Pillow不允许加载截断的PNG文件,可以设置 ImageFile.LOAD_TRUNCATED_IMAGES 来覆盖它。
这个 open() 函数可以在适当时设置以下内容 info 属性:
-
chromaticity 色度点,作为浮点数的8元组。( White Point X , White Point Y , Red X , Red Y , Green X , Green Y , Blue X , Blue Y ) -
gammagamma,作为浮点数给出。 -
srgb 作为整数的 sRGB 渲染意图 - 0感性
- 1相对比色法
- 2饱和度
- 3绝对比色法
transparency对于 P图像:全透明像素的调色板索引,或每个调色板条目的带alpha值的字节字符串。
对于 1, L, I和 RGB图像,表示此图像中完全透明像素的颜色。
如果图像不是透明调色板图像,则省略此键。
open也设置Image.text到的值的字典 tEXt, zTXt和 iTXtPNG图像的块。单个压缩块的解压缩大小限制为PngImagePlugin.MAX_TEXT_CHUNK。默认为1MB,以防止减压炸弹。此外,所有文本块的总大小限制为 PngImagePlugin.MAX_TEXT_MEMORY,默认为64MB。
这个 save() 方法支持以下选项:
-
optimize如果存在且为真,则指示 PNG 编写器使输出文件尽可能小。这包括为了找到最佳编码器设置而进行的额外处理。 -
transparency对于 P,1 , L, I和 RGB 图像,此选项控制图像中要标记为透明的颜色。
对于P图像,这可以是调色板索引,也可以是带有每个调色板条目的 alpha 值的字节字符串。 -
dpi 在每个方向上对应于所需dpi的两个数的元组。
-
pnginfo PIL.PngImagePlugin.PngInfo包含文本标记的实例。 -
compress_level zlib压缩级别,介于0和9之间的数字:1表示最佳速度,9表示最佳压缩,0表示完全没有压缩。默认值为6。当optimize选项为TRUE的时候 compress_level无效(无论传递的值如何,它都设置为9)。 -
icc_profile 要包含在已保存文件中的ICC配置文件。 -
exif 要包含在已保存文件中的exif数据。
6.0.0 新版功能。
-
bits (experimental)对于 P 图像,此选项控制要存储的位数。如果省略,则PNG编写器使用8位(256色)。 dictionary (experimental) 设置zlib编码器字典。
要启用PNG支持,您需要在构建Python图像库之前构建和安装zlib压缩库。有关详细信息,请参阅 安装文档。