ImageFile Module
The ImageFile
module provides support functions for the image openand save functions.
In addition, it provides a Parser
class which can be used to decodean image piece by piece (e.g. while receiving it over a network connection).This class implements the same consumer interface as the standard sgmlliband 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
[源代码] Incremental image parser. This class implements the standardfeed/close consumer interface.
close
()[源代码]- (Consumer) Close the stream.
返回:An image object.引发:IOError – If the parser failed to parse the image file eitherbecause it cannot be identified or cannot bedecoded.
feed
(data)[源代码]- (Consumer) Feed data to the parser.
参数:data – A string buffer.引发:IOError – If the parser failed to parse the image file.
reset
()[源代码]- (Consumer) Reset the parser. Note that you can only call thismethod immediately after you’ve created a parser; parserinstances cannot be reused.
PyDecoder
- class
PIL.ImageFile.
PyDecoder
[源代码] - Python implementation of a format decoder. Override this class andadd the decoding logic in the decode method.
See Writing Your Own File Decoder in Python
cleanup
()[源代码]- Override to perform decoder specific cleanup
返回:None
decode
(buffer)[源代码]- Override to perform the decoding process.
参数: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.返回:A tuple of (bytes consumed, errcode).If finished with decoding return <0 for the bytes consumed.Err codes are from _ERRORS
init
(args)[源代码]- Override to perform decoder specific initialization
参数:args – Array of args items from the tile entry返回:None
setas_raw
(_data, rawmode=None)[源代码]- Convenience method to set the internal image from a stream of raw data
参数:
- **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返回:
None
setfd
(fd)[源代码]- Called from ImageFile to set the python file-like object
参数:fd – A python file-like object返回:None
setimage
(im, extents=None)[源代码]- Called from ImageFile to set the core output image for the decoder
参数:
- **im** – A core image object
- **extents** – a 4 tuple of (x0, y0, x1, y1) defining the rectanglefor this tile返回:
None