ImageFile Module¶
The ImageFile module provides support functions for the image open
and save functions.
In addition, it provides a Parser class which can be used to decode
an image piece by piece (e.g. while receiving it over a network connection).
This class implements the same consumer interface as the standard sgmllib
and xmllib modules.
Example: Parse an image¶
from PIL import ImageFile
fp = open("hopper.ppm", "rb")
p = ImageFile.Parser()
while 1:
    s = fp.read(1024)
    if not s:
        break
    p.feed(s)
im = p.close()
im.save("copy.jpg")
Classes¶
- class PIL.ImageFile._Tile[source]¶
 Bases:
NamedTuple_Tile(codec_name, extents, offset, args)
- class PIL.ImageFile.Parser[source]¶
 Incremental image parser. This class implements the standard feed/close consumer interface.
- close() Image[source]¶
 (Consumer) Close the stream.
- Returns:
 An image object.
- Raises:
 OSError – If the parser failed to parse the image file either because it cannot be identified or cannot be decoded.
- class PIL.ImageFile.PyCodec[source]¶
 - 
- init(args: tuple[Any, ...]) None[source]¶
 Override to perform codec specific initialization
- Parameters:
 args – Tuple of arg items from the tile entry
- Returns:
 None
 
- class PIL.ImageFile.PyDecoder[source]¶
 Bases:
PyCodecPython implementation of a format decoder. Override this class and add the decoding logic in the
decode()method.See Writing Your Own File Codec in Python
- decode(buffer: bytes | SupportsArrayInterface) tuple[int, int][source]¶
 Override to perform the decoding process.
- Parameters:
 buffer – A bytes object with the data to be decoded.
- Returns:
 A tuple of
(bytes consumed, errcode). If finished with decoding return -1 for the bytes consumed. Err codes are fromImageFile.ERRORS.
- set_as_raw(data: bytes, rawmode: str | None = None, extra: tuple[Any, ...] = ()) None[source]¶
 Convenience method to set the internal image from a stream of raw data
- Parameters:
 data – Bytes to be set
rawmode – The rawmode to be used for the decoder. If not specified, it will default to the mode of the image
extra – Extra arguments for the decoder.
- Returns:
 None
- class PIL.ImageFile.PyEncoder[source]¶
 Bases:
PyCodecPython implementation of a format encoder. Override this class and add the decoding logic in the
encode()method.See Writing Your Own File Codec in Python
- encode(bufsize: int) tuple[int, int, bytes][source]¶
 Override to perform the encoding process.
- Parameters:
 bufsize – Buffer size.
- Returns:
 A tuple of
(bytes encoded, errcode, bytes). If finished with encoding return 1 for the error code. Err codes are fromImageFile.ERRORS.
Constants¶
- PIL.ImageFile.LOAD_TRUNCATED_IMAGES = False¶
 Whether or not to load truncated image files. User code may change this.
- PIL.ImageFile.ERRORS¶
 Dict of known error codes returned from
PyDecoder.decode(),PyEncoder.encode()PyEncoder.encode_to_pyfd()andPyEncoder.encode_to_file().