PNG-PIL Portable network graphics¶
A PNG format based on Pillow.
This format supports grayscale, RGB and RGBA images.
Parameters for reading¶
- ignoregamma : bool
- Avoid gamma correction. Default True.
- pilmode : str
From the Pillow documentation:
- ‘L’ (8-bit pixels, grayscale)
- ‘P’ (8-bit pixels, mapped to any other mode using a color palette)
- ‘RGB’ (3x8-bit pixels, true color)
- ‘RGBA’ (4x8-bit pixels, true color with transparency mask)
- ‘CMYK’ (4x8-bit pixels, color separation)
- ‘YCbCr’ (3x8-bit pixels, color video format)
- ‘I’ (32-bit signed integer pixels)
- ‘F’ (32-bit floating point pixels)
PIL also provides limited support for a few special modes, including ‘LA’ (‘L’ with alpha), ‘RGBX’ (true color with padding) and ‘RGBa’ (true color with premultiplied alpha).
When translating a color image to grayscale (mode ‘L’, ‘I’ or ‘F’), the library uses the ITU-R 601-2 luma transform:
L = R * 299/1000 + G * 587/1000 + B * 114/1000
- as_gray : bool
- If True, the image is converted using mode ‘F’. When mode is not None and as_gray is True, the image is first converted according to mode, and the result is then “flattened” using mode ‘F’.
Parameters for saving¶
- optimize : bool
- If present and true, instructs the PNG writer to make the output file as small as possible. This includes extra processing in order to find optimal encoder settings.
- This option controls what color image to mark as transparent.
- dpi: tuple of two scalars
- The desired dpi in each direction.
- pnginfo: PIL.PngImagePlugin.PngInfo
- Object containing text tags.
- compress_level: int
- ZLIB compression level, a number between 0 and 9: 1 gives best speed,
9 gives best compression, 0 gives no compression at all. Default is 9.
optimizeoption is True
compress_levelhas no effect (it is set to 9 regardless of a value passed).
- compression: int
- Compatibility with the freeimage PNG format. If given, it overrides compress_level.
- The ICC Profile to include in the saved file.
- bits (experimental): int
- This option controls how many bits to store. If omitted, the PNG writer uses 8 bits (256 colors).
- Compatibility with the freeimage PNG format. If given, it overrides bits. In this case, given as a number between 1-256.
- dictionary (experimental): dict
- Set the ZLIB encoder dictionary.
- prefer_uint8: bool
- Let the PNG writer truncate uint16 image arrays to uint8 if their values fall within the range [0, 255]. Defaults to true for legacy compatibility, however it is recommended to set this to false to avoid unexpected behavior when saving e.g. weakly saturated images.