Pillow PNG格式

2021-07-09 16:16 更新

Pillow 可以识别、读取和写入包含 ​​, ​​, ​LA​ , ​​, ​​, ​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 )
  • gamma ​gamma,作为浮点数给出。
  • srgb ​ 作为整数的 sRGB 渲染意图
    • 0感性
    • 1相对比色法
    • 2饱和度
    • 3绝对比色法
  • transparency ​对于 ​​图像:全透明像素的调色板索引,或每个调色板条目的带alpha值的字节字符串。
    对于 ​​, ​​, ​​和 ​RGB ​图像,表示此图像中完全透明像素的颜色。
    如果图像不是透明调色板图像,则省略此键。
    open ​也设置​ Image.text​到的值的字典 ​tEXt ​, ​zTXt ​和 ​iTXt ​PNG图像的块。单个压缩块的解压缩大小限制为​ PngImagePlugin.MAX_TEXT_CHUNK ​。默认为1MB,以防止减压炸弹。此外,所有文本块的总大小限制为 ​PngImagePlugin.MAX_TEXT_MEMORY ​,默认为64MB。

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

  • optimize​如果存在且为真,则指示 PNG 编写器使输出文件尽可能小。这包括为了找到最佳编码器设置而进行的额外处理。
  • transparency​对于 ​​,​ 1​ , ​​, ​​和 ​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压缩库。有关详细信息,请参阅 安装文档


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

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号