ImageFile 模块

这个 ImageFile 模块为图像打开和保存功能提供支持功能。

此外,它还提供了 Parser 类,可用于逐段解码图像(例如,通过网络连接接收图像时)。此类实现与标准相同的使用者接口 sgmllibxmllib 模块。

示例:分析图像

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[源代码]

增量图像分析器。此类实现标准的feed/close使用者接口。

close()[源代码]

(使用者)关闭流。

返回:图像对象。
引发:IOError -- 如果分析程序无法分析图像文件,可能是因为无法识别或无法对其进行解码。
feed(data)[源代码]

(使用者)向解析器提供数据。

参数:data -- 字符串缓冲区。
引发:IOError -- 如果分析程序无法分析图像文件。
reset()[源代码]

(使用者)重置分析器。请注意,您只能在创建解析器之后立即调用此方法;解析器实例不能重用。

PyDecoder

class PIL.ImageFile.PyDecoder[源代码]

格式解码器的python实现。重写该类并将解码逻辑添加到 decode 方法。

Writing Your Own File Decoder in Python

cleanup()[源代码]

重写以执行特定于解码器的清理

返回:没有
decode(buffer)[源代码]

重写以执行解码过程。

参数:buffer -- 带有要解码的数据的bytes对象。如果 handles_eof 然后设置 buffer 将是空的并且 self.fd 将被设置。
返回:(已消耗字节,错误代码)的元组。如果解码结束,则对于消耗的字节返回<0。错误代码来自'errors'`
init(args)[源代码]

重写以执行解码器特定的初始化

参数:args -- 来自tile项的args项数组
返回:没有
set_as_raw(data, rawmode=None)[源代码]

从原始数据流设置内部图像的方便方法

参数:
  • data -- 要设置的字节数
  • rawmode -- 用于解码器的rawmode。如果未指定,它将默认为图像的模式。
返回:

没有

setfd(fd)[源代码]

从ImageFile调用以设置类似于python文件的对象

参数:fd -- 类似于python文件的对象
返回:没有
setimage(im, extents=None)[源代码]

从ImageFile调用以设置解码器的核心输出图像

参数:
  • im -- 核心图像对象
  • extents -- 定义此图块矩形的(x0、y0、x1、y1)4元组
返回:

没有