ImageFile モジュール

ImageFile モジュールは、画像のオープンおよび保存関数に対するサポート関数を提供します。

さらに、ネットワーク接続を介して受信するなど、画像を少しずつデコードするために使用できるParserクラスを提供します。このクラスは、標準の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")

クラス

class PIL.ImageFile._Tile[source]

ベース:NamedTuple

_Tile(codec_name, extents, offset, args)

codec_name: str

フィールド番号 0 のエイリアス

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

フィールド番号 1 のエイリアス

offset: int

フィールド番号 2 のエイリアス

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

フィールド番号 3 のエイリアス

class PIL.ImageFile.Parser[source]

増分画像パーサー。このクラスは、標準の feed/close コンシューマーインターフェースを実装しています。

close() Image[source]

(コンシューマー)ストリームを閉じます。

戻り値:

イメージオブジェクト。

例外:

OSError – パーサーが、画像ファイルが識別できないか、デコードできないため、画像ファイルを解析できなかった場合。

feed(data: bytes) None[source]

(コンシューマー)パーサーにデータを送信します。

パラメータ:

data – 文字列バッファ。

例外:

OSError – パーサーが画像ファイルを解析できなかった場合。

reset() None[source]

(コンシューマー)パーサーをリセットします。このメソッドは、パーサーを作成した直後のみ呼び出すことができます。パーサーインスタンスを再利用することはできません。

class PIL.ImageFile.PyCodec[source]
cleanup() None[source]

コーデック固有のクリーンアップを実行するためのオーバーライド

戻り値:

なし

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

コーデック固有の初期化を実行するためのオーバーライド

パラメータ:

args – タイルエントリからの引数のタプル

戻り値:

なし

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

ImageFileから呼び出されて、Pythonのファイルのようなオブジェクトを設定します。

パラメータ:

fd – Pythonのファイルのようなオブジェクト

戻り値:

なし

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

ImageFileから呼び出されて、コーデックの出力コア画像を設定します。

パラメータ:
  • im – コアイメージオブジェクト

  • extents – このタイルの矩形を定義する(x0, y0, x1, y1)の4要素タプル

戻り値:

なし

class PIL.ImageFile.PyDecoder[source]

ベース: PyCodec

フォーマットデコーダのPython実装。このクラスをオーバーライドし、decode()メソッドにデコードロジックを追加します。

独自のファイルコーデックのPythonによる作成を参照してください。

decode(buffer: bytes | SupportsArrayInterface) tuple[int, int][source]

デコードプロセスを実行するためのオーバーライド。

パラメータ:

buffer – デコードされるデータを含むbytesオブジェクト。

戻り値:

(消費されたバイト数, エラーコード)のタプル。デコードが完了したら、消費されたバイト数に-1を返します。エラーコードはImageFile.ERRORSからのものです。

set_as_raw(data: bytes, rawmode: str | None = None, extra: tuple[Any, ...] = ()) None[source]

生のデータストリームから内部イメージを設定するための便利なメソッド。

パラメータ:
  • data – 設定されるバイトデータ

  • rawmode – デコーダで使用されるrawmode。指定されていない場合、イメージのモードがデフォルトになります。

  • extra – デコーダの追加引数。

戻り値:

なし

class PIL.ImageFile.PyEncoder[source]

ベース: PyCodec

フォーマットエンコーダのPython実装。このクラスをオーバーライドし、encode()メソッドにデコードロジックを追加します。

独自のファイルコーデックのPythonによる作成を参照してください。

encode(bufsize: int) tuple[int, int, bytes][source]

エンコードプロセスを実行するためのオーバーライド。

パラメータ:

bufsize – バッファサイズ。

戻り値:

(エンコードされたバイト数, エラーコード, バイトデータ)のタプル。エンコードが完了したら、エラーコードに1を返します。エラーコードはImageFile.ERRORSからのものです。

encode_to_file(fh: int, bufsize: int) int[source]
パラメータ:
  • fh – ファイルハンドル。

  • bufsize – バッファサイズ。

戻り値:

正常に完了した場合は0を返します。それ以外の場合は、エラーコードを返します。エラーコードはImageFile.ERRORSからのものです。

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

pushes_fdTrue の場合、このメソッドが使用され、encode() は一度だけ呼び出されます。

戻り値:

(消費されたバイト数, エラーコード) のタプルを返します。エラーコードは ImageFile.ERRORS から取得されます。

class PIL.ImageFile.ImageFile[source]

ベースクラス: Image

画像ファイルフォーマットハンドラのベースクラスです。

tile: list[_Tile]

タイル記述子のリスト、または None

get_format_mimetype() str | None[source]
verify() None[source]

ファイルの整合性をチェックします。

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

タイルリストに基づいて画像データを読み込みます。

load_prepare() None[source]
load_end() None[source]
class PIL.ImageFile.StubHandler[source]

ベースクラス: object

class PIL.ImageFile.StubImageFile[source]

ベースクラス: ImageFile

スタブ画像ローダーのベースクラスです。

スタブロダーは、特定のフォーマットのファイルを識別できるが、ファイルの読み込みには外部コードに依存する画像ローダーです。

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

タイルリストに基づいて画像データを読み込みます。

定数

PIL.ImageFile.LOAD_TRUNCATED_IMAGES = False

切り詰められた画像ファイルを読み込むかどうかを指定します。ユーザーコードで変更できます。

PIL.ImageFile.ERRORS

PyDecoder.decode()PyEncoder.encode()PyEncoder.encode_to_pyfd()、およびPyEncoder.encode_to_file()から返される既知のエラーコードの辞書です。