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.pgm", "rb")
p = ImageFile.Parser()
while 1:
s = fp.read(1024)
if not s:
break
p.feed(s)
im = p.close()
im.save("copy.jpg")
Parser¶
- class PIL.ImageFile.Parser[source]¶
Incremental image parser. This class implements the standard feed/close consumer interface.
- close()[source]¶
(Consumer) Close the stream.
Returns: An image object. Raises IOError: If the parser failed to parse the image file either because it cannot be identified or cannot be decoded.
PyDecoder¶
- class PIL.ImageFile.PyDecoder[source]¶
Python implementation of a format decoder. Override this class and add the decoding logic in the decode method.
See Writing Your Own File Decoder in Python
- decode(buffer)[source]¶
Override to perform the decoding process.
Parameters: buffer – A bytes object with the data to be decoded. If handles_eof is set, then buffer will be empty and self.fd will be set. Returns: A tuple of (bytes consumed, errcode). If finished with decoding return <0 for the bytes consumed. Err codes are from ERRORS
- init(args)[source]¶
Override to perform decoder specific initialization
Parameters: args – Array of args items from the tile entry Returns: None
- set_as_raw(data, rawmode=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
Returns: None