Pillow ImageFile模塊

2021-07-14 10:36 更新

這個 ?ImageFile ?模塊提供了對圖像打開和保存功能的支持功能。

此外,它還提供了 ?Parser ?類,可用于逐段解碼圖像(例如,通過網(wǎng)絡(luò)連接接收圖像時)。此類實現(xiàn)與標(biāo)準(zhǔn)sgmllib 和xmllib模塊相同的使用者接口。

示例:分析圖像

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

?classPIL.ImageFile.Parser?

增量圖像分析器。此類實現(xiàn)標(biāo)準(zhǔn)的feed/close使用者接口。

?close()?

(使用者)關(guān)閉流。

返回

?Image?對象。

引發(fā)

?OSError ?--如果解析器由于無法識別或無法解碼而無法解析圖像文件。

?feed(data)?

(使用者)向解析器提供數(shù)據(jù)。

參數(shù)

data -- 字符串緩沖區(qū)。

引發(fā)

?OSError ?-- 如果解析器無法分析圖像文件。

?reset()?

(使用者)重置解析器。請注意,您只能在創(chuàng)建解析器之后立即調(diào)用此方法;解析器實例不能重用。

?classPIL.ImageFile.PyDecoder?

格式解碼器的python實現(xiàn)。重寫該類并將解碼邏輯添加到 decode 方法。

用 Python 編寫您自己的文件解碼器

?cleanup()?

覆蓋以執(zhí)行特定于解碼器的清理

返回

None

?decode(buffer)?

覆蓋以執(zhí)行解碼過程。

參數(shù)

buffer -- 帶有要解碼的數(shù)據(jù)的?bytes?對象。

返回

?(bytes consumed, errcode)?的元組。如果完成解碼,則對于消耗的字節(jié)返回<0。錯誤代碼來自?ImageFile.ERRORS?

?init(args)?

覆蓋以執(zhí)行解碼器特定的初始化

參數(shù)

args -- 來自?tile?項的?args?項數(shù)組

返回

None

?set_as_raw(datarawmode=None)?

從原始數(shù)據(jù)流設(shè)置內(nèi)部圖像的便捷方法

參數(shù)
  • data -- 要設(shè)置的字節(jié)數(shù)

  • rawmode -- 用于解碼器的原始模式。如果未指定,它將默認(rèn)為圖像的模式。

返回

None

?setfd(fd)?

從 ImageFile 調(diào)用以設(shè)置 python 類文件對象。

參數(shù)

fd -- 一個類似于python文件的對象

返回

None

?setimage(imextents=None)?

從ImageFile調(diào)用以設(shè)置解碼器的核心輸出圖像

參數(shù)
  • im -- 一個核心圖像對象

  • extents -- 定義此圖塊矩形的(x0、y0、x1、y1)4元組

返回

None

?classPIL.ImageFile.ImageFile?

基類:PIL.Image.Image

圖像文件格式處理程序的基類。

?tile?

一個tile描述符列表,或 None

?get_format_mimetype()?
?verify()?

檢查文件完整性

?load()?

基于平鋪列表加載圖像數(shù)據(jù)

?load_prepare()?
?load_end()?
?classPIL.ImageFile.StubImageFile?

基類:PIL.ImageFile.ImageFile

存根圖像加載程序的基類。

存根加載器是一種圖像加載器,它可以識別某種格式的文件,但依賴于外部代碼來加載文件。

?load()?

基于平鋪列表加載圖像數(shù)據(jù)

常量

?PIL.ImageFile.LOAD_TRUNCATED_IMAGES= False?

bool(x)->布爾

當(dāng)參數(shù)x為真時返回真,否則返回假。內(nèi)建的true和false是類bool的唯一兩個實例。bool類是int類的子類,不能被子類化。

?PIL.ImageFile.ERRORS?

?dict()?->新的空字典dict(mapping)->從映射對象的

(鍵、值)對

dict(iterable)->通過初始化新字典:

d={}對于iterable中的k,v:

D [k] =v

dict(kwargs)->用name=value對初始化的新字典

在關(guān)鍵字參數(shù)列表中。例如1,dict=2


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號