PIL Package (autodoc of remaining modules)

Reference for modules whose documentation has not yet been ported or writtencan be found here.

BdfFontFile Module

ContainerIO Module

  • class PIL.ContainerIO.ContainerIO(file, offset, length)[source]
  • Bases: object

Parameters:n – Number of bytes to read. If omitted or zero,read until end of region.Returns:An 8-bit string.

Returns:An 8-bit string.

  • readlines()[source]
  • Read multiple lines of text.

Returns:A list of 8-bit strings.

  • seek(offset, mode=0)[source]
  • Move file pointer.

Parameters:

  1. - **offset** Offset in bytes.
  2. - **mode** Starting position. Use 0 for beginning of region, 1for current offset, and 2 for end of region. You cannot movethe pointer outside the defined region.
  • tell()[source]
  • Get current file pointer.

Returns:Offset from start of region, in bytes.

FontFile Module

  • class PIL.FontFile.FontFile[source]
  • Bases: object

    • bitmap = None
    • compile()[source]
    • Create metrics and bitmap

    • save(filename)[source]

    • Save font
  • PIL.FontFile.puti16(fp, values)[source]

GdImageFile Module

  • class PIL.GdImageFile.GdImageFile(fp=None, filename=None)[source]
  • Bases: PIL.ImageFile.ImageFile

    • format = 'GD'
    • formatdescription = 'GD uncompressed images'_
  • PIL.GdImageFile.open(fp, mode='r')[source]
  • Load texture from a GD image file.

Parameters:

  • filename – GD file name, or an opened file handle.
  • mode – Optional mode. In this version, if the mode argumentis given, it must be “r”.Returns:
    An image instance.
    Raises:
    IOError – If the image could not be read.

GimpGradientFile Module

  • class PIL.GimpGradientFile.GradientFile[source]
  • Bases: object

    • getpalette(entries=256)[source]
    • gradient = None
  • PIL.GimpGradientFile.curved(middle, pos)[source]
  • PIL.GimpGradientFile.linear(middle, pos)[source]
  • PIL.GimpGradientFile.sine(middle, pos)[source]
  • PIL.GimpGradientFile.spheredecreasing(_middle, pos)[source]
  • PIL.GimpGradientFile.sphereincreasing(_middle, pos)[source]

GimpPaletteFile Module

  • class PIL.GimpPaletteFile.GimpPaletteFile(fp)[source]
  • Bases: object

ImageDraw2 Module

  • class PIL.ImageDraw2.Brush(color, opacity=255)[source]
  • Bases: object
  • class PIL.ImageDraw2.Font(color, file, size=12)[source]
  • Bases: object
  • class PIL.ImageDraw2.Pen(color, width=1, opacity=255)[source]
  • Bases: object

ImageShow Module

  • class PIL.ImageShow.Viewer[source]
  • Bases: object

Base class for viewers.

  • format = None
  • getcommand(_file, **options)[source]
  • getformat(_image)[source]
  • Return format name, or None to save as PGM/PPM

  • options = {}

  • saveimage(_image)[source]
  • Save to temporary file, and return filename

  • show(image, **options)[source]

  • showfile(_file, **options)[source]
  • Display given file

  • showimage(_image, **options)[source]

  • Display given image
  • PIL.ImageShow.register(viewer, order=1)[source]
  • PIL.ImageShow.show(image, title=None, **options)[source]
  • Display a given image.

Parameters:

  • image – An image object.
  • title – Optional title. Not all viewers can display the title.
  • **options – Additional viewer options.Returns:
    True if a suitable viewer was found, false otherwise.

ImageTransform Module

Define an affine image transform.

This function takes a 6-tuple (a, b, c, d, e, f) which contain the firsttwo rows from an affine transform matrix. For each pixel (x, y) in theoutput image, the new value is taken from a position (a x + b y + c,d x + e y + f) in the input image, rounded to nearest pixel.

This function can be used to scale, translate, rotate, and shear theoriginal image.

See transform()

Parameters:matrix – A 6-tuple (a, b, c, d, e, f) containing the first two rowsfrom an affine transform matrix.

  • method = 0

Define a transform to extract a subregion from an image.

Maps a rectangle (defined by two corners) from the image to a rectangle ofthe given size. The resulting image will contain data sampled from betweenthe corners, such that (x0, y0) in the input image will end up at (0,0) inthe output image, and (x1, y1) at size.

This method can be used to crop, stretch, shrink, or mirror an arbitraryrectangle in the current image. It is slightly slower than crop, but aboutas fast as a corresponding resize operation.

See transform()

Parameters:bbox – A 4-tuple (x0, y0, x1, y1) which specifies two points in theinput image’s coordinate system. See Coordinate System.

  • method = 1

Define a mesh image transform. A mesh transform consists of one or moreindividual quad transforms.

See transform()

Parameters:data – A list of (bbox, quad) tuples.

  • method = 4

Define a quad image transform.

Maps a quadrilateral (a region defined by four corners) from the image to arectangle of the given size.

See transform()

Parameters:xy – An 8-tuple (x0, y0, x1, y1, x2, y2, x3, y3) which contain theupper left, lower left, lower right, and upper right corner of thesource quadrilateral.

  • method = 3
  • class PIL.ImageTransform.Transform(data)[source]
  • Bases: PIL.Image.ImageTransformHandler

JpegPresets Module

JPEG quality settings equivalent to the Photoshop settings.

More presets can be added to the presets dict if needed.

Can be use when saving JPEG file.

To apply the preset, specify:

  1. quality="preset_name"

To apply only the quantization table:

  1. qtables="preset_name"

To apply only the subsampling setting:

  1. subsampling="preset_name"

Example:

  1. im.save("image_name.jpg", quality="web_high")

Subsampling

Subsampling is the practice of encoding images by implementing less resolutionfor chroma information than for luma information.(ref.: https://en.wikipedia.org/wiki/Chroma_subsampling)

Possible subsampling values are 0, 1 and 2 that correspond to 4:4:4, 4:2:2 and4:2:0.

You can get the subsampling of a JPEG with theJpegImagePlugin.get_sampling(im) function.

In JPEG compressed data a JPEG marker is used instead of an EXIF tag.(ref.: https://www.exiv2.org/tags.html)

Quantization tables

They are values use by the DCT (Discrete cosine transform) to removeunnecessary information from the image (the lossy part of the compression).(ref.: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matrices,https://en.wikipedia.org/wiki/JPEG#Quantization)

You can get the quantization tables of a JPEG with:

  1. im.quantization

This will return a dict with a number of arrays. You can pass this dictdirectly as the qtables argument when saving a JPEG.

The tables format between im.quantization and quantization in presets differ in3 ways:

  • The base container of the preset is a list with sublists instead of dict.dict[0] -> list[0], dict[1] -> list[1], …
  • Each table in a preset is a list instead of an array.
  • The zigzag order is remove in the preset (needed by libjpeg >= 6a).
    You can convert the dict format to the preset format with theJpegImagePlugin.convert_dict_qtables(dict_qtables) function.

Libjpeg ref.:https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html

PaletteFile Module

  • class PIL.PaletteFile.PaletteFile(fp)[source]
  • Bases: object

PcfFontFile Module

PngImagePlugin.iTXt Class

  • class PIL.PngImagePlugin.iTXt[source]
  • Bases: str

Subclass of string to allow iTXt chunks to look like strings whilekeeping their extra information

Parameters:

  1. - **value** value for this key
  2. - **lang** language code
  3. - **tkey** UTF-8 version of the key name

PngImagePlugin.PngInfo Class

  • class PIL.PngImagePlugin.PngInfo[source]
  • Bases: object

PNG chunk container (for use with save(pnginfo=))

  • add(cid, data)[source]
  • Appends an arbitrary chunk. Use with caution.

Parameters:

  1. - **cid** a byte string, 4 bytes long.
  2. - **data** a byte string of the encoded data
  • additxt(_key, value, lang='', tkey='', zip=False)[source]
  • Appends an iTXt chunk.

Parameters:

  1. - **key** latin-1 encodable text key name
  2. - **value** value for this key
  3. - **lang** language code
  4. - **tkey** UTF-8 version of the key name
  5. - **zip** compression flag
  • addtext(_key, value, zip=False)[source]
  • Appends a text chunk.

Parameters:

  1. - **key** latin-1 encodable text key name
  2. - **value** value for this key, text or an[<code>PIL.PngImagePlugin.iTXt</code>](#PIL.PngImagePlugin.iTXt) instance
  3. - **zip** compression flag

TarIO Module

WalImageFile Module

  • PIL.WalImageFile.open(filename)[source]
  • Load texture from a Quake2 WAL texture file.

By default, a Quake2 standard palette is attached to the texture.To override the palette, use the putpalette method.

Parameters:filename – WAL file name, or an opened file handle.Returns:An image instance.

_binary Module

  • PIL.binary.i16le(_c, o=0)[source]
  • Converts a 2-bytes (16 bits) string to an unsigned integer.

Parameters:

  • c – string containing bytes to convert
  • o – offset of bytes to convert in string
  • PIL.binary.i32le(_c, o=0)[source]
  • Converts a 4-bytes (32 bits) string to an unsigned integer.

Parameters:

  • c – string containing bytes to convert
  • o – offset of bytes to convert in string
  • PIL.binary.si16le(_c, o=0)[source]
  • Converts a 2-bytes (16 bits) string to a signed integer.

Parameters:

  • c – string containing bytes to convert
  • o – offset of bytes to convert in string
  • PIL.binary.si32le(_c, o=0)[source]
  • Converts a 4-bytes (32 bits) string to a signed integer.

Parameters:

  • c – string containing bytes to convert
  • o – offset of bytes to convert in string