Movatterモバイル変換


[0]ホーム

URL:


ContentsMenuExpandLight modeDark modeAuto light/dark, in light modeAuto light/dark, in dark modeSkip to content
Pillow (PIL Fork) 12.0.0 documentation
Light LogoDark Logo
Pillow (PIL Fork) 12.0.0 documentation
Back to top

ImageFile module

TheImageFile module provides support functions for the image openand save functions.

In addition, it provides aParser 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 standardsgmllibandxmllib modules.

Example: Parse an image

fromPILimportImageFilefp=open("hopper.ppm","rb")p=ImageFile.Parser()while1:s=fp.read(1024)ifnots:breakp.feed(s)im=p.close()im.save("copy.jpg")

Classes

classPIL.ImageFile._Tile[source]

Bases:NamedTuple

_Tile(codec_name, extents, offset, args)

codec_name:str

Alias for field number 0

extents:tuple[int,int,int,int]|None

Alias for field number 1

offset:int

Alias for field number 2

args:tuple[Any,...]|str|None

Alias for field number 3

classPIL.ImageFile.Parser[source]

Incremental image parser. This class implements the standardfeed/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 eitherbecause it cannot be identified or cannot bedecoded.

feed(data:bytes)None[source]

(Consumer) Feed data to the parser.

Parameters:

data – A string buffer.

Raises:

OSError – If the parser failed to parse the image file.

reset()None[source]

(Consumer) Reset the parser. Note that you can only call thismethod immediately after you’ve created a parser; parserinstances cannot be reused.

classPIL.ImageFile.PyCodec[source]
cleanup()None[source]

Override to perform codec specific cleanup

Returns:

None

init(args:tuple[Any,...])None[source]

Override to perform codec specific initialization

Parameters:

args – Tuple of arg items from the tile entry

Returns:

None

setfd(fd:IO[bytes])None[source]

Called from ImageFile to set the Python file-like object

Parameters:

fd – A Python file-like object

Returns:

None

setimage(im:Image.core.ImagingCore,extents:tuple[int,int,int,int]|None=None)None[source]

Called from ImageFile to set the core output image for the codec

Parameters:
  • im – A core image object

  • extents – a 4 tuple of (x0, y0, x1, y1) defining the rectanglefor this tile

Returns:

None

classPIL.ImageFile.PyDecoder[source]

Bases:PyCodec

Python implementation of a format decoder. Override this class andadd the decoding logic in thedecode() method.

SeeWriting 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(bytesconsumed,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

classPIL.ImageFile.PyEncoder[source]

Bases:PyCodec

Python implementation of a format encoder. Override this class andadd the decoding logic in theencode() method.

SeeWriting 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(bytesencoded,errcode,bytes).If finished with encoding return 1 for the error code.Err codes are fromImageFile.ERRORS.

encode_to_file(fh:int,bufsize:int)int[source]
Parameters:
  • fh – File handle.

  • bufsize – Buffer size.

Returns:

If finished successfully, return 0.Otherwise, return an error code. Err codes are fromImageFile.ERRORS.

encode_to_pyfd()tuple[int,int][source]

Ifpushes_fd isTrue, then this method will be used,andencode() will only be called once.

Returns:

A tuple of(bytesconsumed,errcode).Err codes are fromImageFile.ERRORS.

classPIL.ImageFile.ImageFile[source]

Bases:Image

Base class for image file format handlers.

tile:list[_Tile]

A list of tile descriptors

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 orhave not had their file read and closed by theload() method. SeeFile handling in Pillow formore information.

get_child_images()list[ImageFile][source]
get_format_mimetype()str|None[source]
verify()None[source]

Check file integrity

load()Image.core.PixelAccess|None[source]

Load image data based on tile list

load_prepare()None[source]
load_end()None[source]
classPIL.ImageFile.StubHandler[source]

Bases:ABC

classPIL.ImageFile.StubImageFile[source]

Bases:ImageFile

Base class for stub image loaders.

A stub loader is an image loader that can identify files of acertain 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.MAXBLOCK=65536

By default, Pillow processes image data in blocks. This helps to prevent excessive useof resources. Codecs may disable this behaviour with_pulls_fd or_pushes_fd.

When reading an image, this is the number of bytes to read at once.

When writing an image, this is the number of bytes to write at once.If the image width times 4 is greater, then that will be used instead.Plugins may also set a greater number.

User code may set this to another number.

PIL.ImageFile.ERRORS

Dict of known error codes returned fromPyDecoder.decode(),PyEncoder.encode()PyEncoder.encode_to_pyfd() andPyEncoder.encode_to_file().

On this page

[8]ページ先頭

©2009-2025 Movatter.jp