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对象。

返回

(已消耗字节,错误代码)的元组。如果解码结束,则对于消耗的字节返回<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元组

返回

没有