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:
PyCodec
Python 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:
PyCodec
Python 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
.
- class PIL.ImageFile.ImageFile[source]¶
Bases:
Image
Base class for image file format handlers.
- close() None [source]¶
Closes the file pointer, if possible.
This operation will destroy the image core and release its memory. The image data will be unusable afterward.
This function is required to close images that have multiple frames or have not had their file read and closed by the
load()
method. See File Handling in Pillow for more information.
- load() Image.core.PixelAccess | None [source]¶
Load image data based on tile list
- class PIL.ImageFile.StubImageFile[source]¶
Bases:
ImageFile
Base class for stub image loaders.
A stub loader is an image loader that can identify files of a certain format, but relies on external code to load the file.
- load() Image.core.PixelAccess | None [source]¶
Load image data based on tile list
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()
.