The ImageFile Module

This module provides support functions for the image open and save functions.

In addition, it provides a Parser class which you can use to decode an image piece by piece, for example while receiving it over a network connection. This class implements the same consumer interface as the standard sgmllib and xmllib modules.

Example

Example: Parse An Image
import ImageFile

fp = open("lena.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")

Functions

Parser (constructor)

Parser(). Creates a parser object. Parsers cannot be reused.

Methods

feed

feed(data). Feed a string of data to the parser. This method may raise an IOError exception.

close

close(). Tells the parser to finish decoding. If the parser managed to decode an image, it returns an Image object. Otherwise, this method raises an IOError exception.

Note:

If the file cannot be identified, the parser will raise an IOError exception in the close method. If the file can be identified, but not decoded (for example, if the data is damaged, or if it uses an unsupported compression method), the parser will raise an IOError exception as soon as possible, either in feed or close.