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")

Classes#

class PIL.ImageFile.Parser[源代码]#

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

close()[源代码]#

(使用者)关闭流。

返回:

图像对象。

抛出:

OSError -- 如果分析程序无法分析图像文件,可能是因为无法识别或无法对其进行解码。

feed(data)[源代码]#

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

参数:

data -- 字符串缓冲区。

抛出:

OSError -- 如果分析程序无法分析图像文件。

reset()[源代码]#

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

class PIL.ImageFile.PyCodec[源代码]#
cleanup()[源代码]#

覆盖以执行特定于编解码器的清理

返回:

没有

init(args)[源代码]#

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

参数:

args -- 切片条目中的Args项的数组

返回:

没有

setfd(fd)[源代码]#

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

参数:

fd -- 一个类似于Python文件的对象

返回:

没有

setimage(im, extents=None)[源代码]#

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

参数:
  • im -- 核心图像对象

  • extents -- 定义此平铺的矩形的四元组(x0,y0,x1,y1

返回:

没有

class PIL.ImageFile.PyDecoder[源代码]#

基类:PyCodec

Python实现的一个格式解码器。重写此类并将解码逻辑添加到 decode() 方法。

看见 Writing Your Own File Codec in Python

decode(buffer)[源代码]#

重写以执行解码过程。

参数:

buffer -- 带有要解码的数据的bytes对象。

返回:

的元组 (bytes consumed, errcode) 。如果完成解码,则为消耗的字节返回-1。错误代码来自 ImageFile.ERRORS

set_as_raw(data, rawmode=None)[源代码]#

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

参数:
  • data -- 要设置的字节数

  • rawmode -- 用于解码器的rawmode。如果未指定,它将默认为图像的模式。

返回:

没有

class PIL.ImageFile.PyEncoder[源代码]#

基类:PyCodec

一种格式编码器的Python实现。重写此类并将解码逻辑添加到 encode() 方法。

看见 Writing Your Own File Codec in Python

encode(bufsize)[源代码]#

重写以执行编码过程。

参数:

bufsize -- 缓冲区大小。

返回:

一个元组 (bytes encoded, errcode, bytes) 。如果编码完成,则返回1作为错误代码。错误代码来自 ImageFile.ERRORS

encode_to_file(fh, bufsize)[源代码]#
参数:
  • fh -- 文件句柄。

  • bufsize -- 缓冲区大小。

返回:

如果成功完成,则返回0。否则,返回错误码。错误代码来自 ImageFile.ERRORS

encode_to_pyfd()[源代码]#

如果 pushes_fdTrue ,则将使用此方法,并且 encode() 将只被调用一次。

返回:

一个元组 (bytes consumed, errcode) 。错误代码来自 ImageFile.ERRORS

class PIL.ImageFile.ImageFile[源代码]#

基类:Image

图像文件格式处理程序的基类。

tile#

平铺描述符的列表,或 None

get_format_mimetype()[源代码]#
verify()[源代码]#

检查文件完整性

load()[源代码]#

基于平铺列表加载图像数据

load_prepare()[源代码]#
load_end()[源代码]#
class PIL.ImageFile.StubImageFile[源代码]#

基类:ImageFile

存根图像加载程序的基类。

存根加载器是一种图像加载器,它可以识别某种格式的文件,但依赖于外部代码来加载文件。

load()[源代码]#

基于平铺列表加载图像数据

常量#

PIL.ImageFile.LOAD_TRUNCATED_IMAGES = False#

是否加载截断的图像文件。用户代码可能会更改这一点。

PIL.ImageFile.ERRORS#

从返回的已知错误代码的字典 PyDecoder.decode()PyEncoder.encode() PyEncoder.encode_to_pyfd()PyEncoder.encode_to_file()