画像ファイル形式

Python Imaging Libraryは、さまざまなラスターファイル形式をサポートしています。30種類以上のファイル形式をライブラリで識別して読み取ることができます。書き込みのサポートはそれほど広範ではありませんが、最も一般的な交換形式とプレゼンテーション形式がサポートされています。

open() 関数は、ファイル名ではなく内容からファイルを識別しますが、save() メソッドは、形式が明示的に指定されていない限り、使用する形式を決定するためにファイル名を参照します。

ファイルから画像を開く場合、その画像のインスタンスのみがその形式であると見なされます。画像のコピーには、ファイルからロードされたデータが含まれますが、ファイル自体は含まれないため、元の形式であるとは見なされなくなります。そのため、画像で copy() が呼び出された場合、または別のメソッドが内部で画像のコピーを作成した場合、形式に固有のメソッドまたは属性は存在しなくなります。fp (ファイルポインタ) 属性は存在しなくなり、format 属性は None になります。

完全にサポートされている形式

BLP

BLPはBlizzard Mipmap Formatであり、World of Warcraftで使用されるテクスチャ形式です。Pillowは、JPEG 圧縮または生の BLP1 画像、およびすべてのタイプの BLP2 画像の読み取りをサポートしています。

保存

PillowはBLP画像の書き込みをサポートしています。save() メソッドは、次のキーワード引数を取ることができます。

blp_version

存在し、「BLP1」に設定されている場合、画像はBLP1として保存されます。それ以外の場合、画像はBLP2として保存されます。

BMP

Pillowは、1LP、または RGB データを含むWindowsおよびOS/2 BMPファイルを読み書きします。16色画像は P 画像として読み取られます。8ビットランレングスエンコーディングの読み取りサポートはPillow 9.1.0で追加されました。4ビットランレングスエンコーディングの読み取りサポートはPillow 9.3.0で追加されました。

開く

open() メソッドは、次の info プロパティを設定します。

compression

ファイルが256色のランレングスエンコードされた画像の場合は1に設定されます。ファイルが16色のランレングスエンコードされた画像の場合は2に設定されます。

DDS

DDSは、ビデオゲームでよく使用されるコンテナテクスチャ形式であり、DirectXでネイティブにサポートされています。

DXT1およびDXT5ピクセル形式は、RGBA モードでのみ読み取ることができます。

バージョン 3.4.0 で追加: DXT3画像は RGB モードで読み取ることができ、DX10画像は RGB および RGBA モードで読み取ることができます。

バージョン 6.0.0 で追加: 非圧縮の RGBA 画像を読み取ることができます。

バージョン 8.3.0 で追加: BC5S画像は RGB モードで開くことができ、非圧縮の RGB 画像を読み取ることができます。非圧縮データは画像ファイルにも保存できます。

バージョン 9.3.0 で追加: ATI1画像は L モードで開くことができ、ATI2画像は RGB モードで開くことができます。

バージョン 9.4.0 で追加: 非圧縮の L (「輝度」) および LA 画像を開いて保存できます。

バージョン 10.1.0 で追加: BC5UはRGBモードで読み取ることができ、8ビットカラーインデックス画像はPモードで読み取ることができます。

DIB

PillowはDIBファイルを読み書きします。DIBファイルはBMPファイルに似ているため、詳細については上記を参照してください。

バージョン 6.0.0 で追加。

EPS

Pillowは、画像データを含むEPSファイルを識別し、埋め込みラスター画像 (ImageData記述子) を含むファイルを読み取ることができます。Ghostscriptが利用可能な場合は、他のEPSファイルも読み取ることができます。EPSドライバーはEPS画像を書き込むこともできます。EPSドライバーは、LLABRGB、および CMYK モードでEPS画像を読み取ることができますが、Ghostscriptは画像を元のカラースペースのままにするのではなく、RGB モードに変換する場合があります。EPSドライバーは、LRGB、および CMYK モードで画像を書き込むことができます。

読み込み

Ghostscriptを使用するために、Pillowは"gs"実行ファイルを探します。Windowsでは、"gswin32c"と"gswin64c"も検索します。この動作をカスタマイズするには、EpsImagePlugin.gs_binary = "gswin64" を使用して、使用する実行ファイルの名前を設定します。EpsImagePlugin.gs_binary = False はGhostscriptの使用を無効にします。

Ghostscriptが利用可能な場合、GhostscriptがEPSをどのようにレンダリングするかに影響を与えるために、以下のパラメータを指定してload()メソッドを呼び出すことができます。

scale(スケール)

結果として得られるラスタライズ画像のスケールに影響します。EPSが画像を100px x 100pxでレンダリングすることを示唆している場合、このパラメータを2に設定すると、Ghostscriptは代わりに200px x 200pxの画像をレンダリングします。バウンディングボックスの相対位置は維持されます。

im = Image.open(...)
im.size  # (100,100)
im.load(scale=2)
im.size  # (200,200)
transparency(透明度)

Trueの場合、デフォルトの動作である白い背景のRGB画像ではなく、透明な背景のRGBA画像を生成します。

GIF

Pillowは、GIFファイル形式のGIF87aとGIF89aバージョンを読み取ります。ライブラリは、GIF89aの機能が使用されていないか、GIF89aが既に使用されていない限り、デフォルトでGIF87aでファイルを書き込みます。ファイルはLZWエンコーディングで書き込まれます。

GIFファイルは、最初はグレースケール(L)またはパレットモード(P)画像として読み取られます。P画像の後のフレームにシークすると、画像はRGB(または最初のフレームに透明度がある場合はRGBA)に変更されます。

GIFの各フレームには、最大256色の独自のパレットが含まれている可能性があるため、Pモードの画像はRGBに変更されます。新しいフレームが前のフレームに配置されると、これらの色が組み合わさって、Pモードの256色の制限を超える可能性があります。代わりに、これを処理するために画像はRGBに変換されます。

最初のP画像フレームもRGBにすることを希望する場合、すべてのPフレームがRGBまたはRGBAモードに変換されるように、利用可能な設定があります。

from PIL import GifImagePlugin
GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_ALWAYS

ただし、GIFフレームには必ずしも個々のパレットが含まれているわけではありません。グローバルパレットのみが存在する場合、すべての色がPモードに収まります。その場合、フレームをPとして保持したい場合は、利用可能な設定もあります。

from PIL import GifImagePlugin
GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_AFTER_DIFFERENT_PALETTE_ONLY

Pモードの画像が最初のフレームの後でのみRGBまたはRGBAに変換されるデフォルトの動作に戻すには、

from PIL import GifImagePlugin
GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_AFTER_FIRST

開く

open() メソッドは、次の info プロパティを設定します。

background(背景)

デフォルトの背景色(パレットカラーインデックス)。

transparency(透明度)

透明色のインデックス。画像が透明でない場合、このキーは省略されます。

version(バージョン)

バージョン(GIF87aまたはGIF89a)。

duration(期間)

存在しない場合があります。GIFの現在のフレームを表示する時間(ミリ秒)。

loop(ループ)

存在しない場合があります。GIFがループする回数。0は無限にループすることを意味します。

comment(コメント)

存在しない場合があります。画像に関するコメント。これは、現在のフレームの画像の前に見つかった最後のコメントです。

extension(拡張)

存在しない場合があります。アプリケーション固有の情報が含まれています。

シーケンスの読み込み

GIFローダーは、seek()メソッドとtell()メソッドをサポートしています。これらのメソッドを組み合わせて、次のフレームにシークできます(im.seek(im.tell() + 1))。

最後のフレームの後にシークしようとすると、im.seek()EOFErrorを発生させます。

保存

GIFファイルを書き込むためにsave()を呼び出す場合、以下のオプションが利用可能です。

im.save(out, save_all=True, append_images=[im1, im2, ...])
save_all(すべて保存)

存在し、trueの場合、画像のすべてのフレームが保存されます。そうでない場合、マルチフレーム画像の最初のフレームのみが保存されます。

append_images (画像を追加)

追加フレームとして追加する画像のリスト。リスト内の各画像は、シングルまたはマルチフレーム画像にすることができます。これは現在、GIF、PDF、PNG、TIFF、およびWebPでサポートされています。

ICOとICNSでもサポートされています。関連するサイズの画像が渡された場合、メイン画像を縮小する代わりに使用されます。

include_color_table(カラーテーブルを含める)

ローカルカラーテーブルを含めるかどうか。

interlace(インターレース)

画像がインターレースされているかどうか。デフォルトでは、画像の幅または高さが16ピクセル未満でない限り、インターレースされます。

disposal(廃棄)

グラフィックが表示された後にどのように処理するかを示します。

  • 0 - 廃棄方法が指定されていません。

  • 1 - 廃棄しないでください。

  • 2 - 背景色に復元します。

  • 3 - 前のコンテンツに復元します。

一定の廃棄には単一の整数を渡すか、リストまたはタプルを渡して各フレームの廃棄を個別に設定します。

palette(パレット)

保存された画像に指定されたパレットを使用します。パレットは、RGBRGB…形式のパレットエントリを含むbytesまたはbytearrayオブジェクトである必要があります。768バイト以下である必要があります。代わりに、パレットをPIL.ImagePalette.ImagePaletteオブジェクトとして渡すことができます。

optimize(最適化)

未使用の色を削除することによってパレットを圧縮するかどうか(これは、パレットを次に小さい2のべき乗の要素に圧縮できる場合にのみ役立ちます)、および次のフレームで新しいピクセルではないすべてのピクセルを透明としてマークするかどうか。

これは、パレットがオプションとして、または最初の画像のinfo辞書の一部として指定されていない限り、デフォルトで試行されます。

保存する画像が既存のGIFからのものである場合、info辞書に次のプロパティが含まれている場合があります。これらのオプションについては、渡さない場合、infoの値がデフォルトになります。

transparency(透明度)

透明色のインデックス。

duration(期間)

マルチフレームgifの各フレームの表示時間(ミリ秒)。一定の期間には単一の整数を渡すか、リストまたはタプルを渡して各フレームの期間を個別に設定します。

loop(ループ)

GIFがループする回数(整数)。0は無限にループすることを意味します。省略するかNoneの場合、画像はループしません。

comment(コメント)

画像に関するコメント。

ローカル画像の読み込み

GIFローダーは、GIFファイルの*論理画面サイズ*と同じサイズの画像メモリを作成し、実際のピクセルデータ(*ローカル画像*)をこの画像に貼り付けます。実際のピクセル長方形のみが必要な場合は、画像をトリミングできます。

im = Image.open(...)

if im.tile[0][0] == "gif":
    # only read the first "local image" from this GIF file
    box = im.tile[0][1]
    im = im.crop(box)

ICNS

Pillowは、macOSの.icnsファイルを読み書きします。デフォルトでは、使用可能な最大のアイコンが読み取られますが、load()を呼び出す前にsizeプロパティを設定することでこれをオーバーライドできます。open()メソッドは、次のinfoプロパティを設定します。

注記

バージョン8.3.0より前は、PillowはmacOSでのみICNSファイルを書き込むことができました。

sizes(サイズ)

このアイコンファイルにあるサポートされているサイズのリスト。これらは3つのタプル、(width, height, scale)で、scaleはRetinaアイコンの場合は2、標準アイコンの場合は1です。

読み込み

以下のパラメータを指定して、load() メソッドを呼び出すことができます。

scale(スケール)

結果の画像のスケールに影響します。サイズが (512, 512) に設定されている場合、スケール 2 でロードした後、size の最終的な値は (1024, 1024) になります。

保存

save() メソッドは、以下のキーワード引数を取ることができます。

append_images (画像を追加)

画像の縮小版を置き換える画像のリスト。各画像の用途はサイズによって決まるため、画像の順序は重要ではありません。

バージョン 5.1.0 で追加されました。

ICO

ICO は、Windows でアイコンを保存するために使用されます。使用可能な最大のアイコンが読み込まれます。

保存

save() メソッドは、以下のオプションをサポートしています。

sizes(サイズ)

この ico ファイルに含まれるサイズのリスト。これらは2要素のタプル (幅, 高さ) です。デフォルトは [(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)] です。元のサイズまたは 256 より大きいサイズは無視されます。

save() メソッドは、以下のキーワード引数を取ることができます。

append_images (画像を追加)

画像の縮小版を置き換える画像のリスト。各画像の用途はサイズによって決まるため、画像の順序は重要ではありません。

バージョン 8.1.0 で追加されました。

bitmap_format

デフォルトでは、画像データは PNG 形式で保存されます。bitmap_format を "bmp" にすると、画像データは BMP 形式で保存されます。

バージョン 8.3.0 で追加されました。

IM

IM は、LabEye や IFUNC 画像処理ライブラリに基づく他のアプリケーションで使用される形式です。ライブラリは、この形式のほとんどの非圧縮交換バージョンを読み書きします。

IM は、すべての内部 Pillow 形式を保存できる唯一の形式です。

JPEG

Pillow は、LRGB、または CMYK データを含む JPEG、JFIF、および Adobe JPEG ファイルを読み取ります。標準およびプログレッシブ JFIF ファイルを書き込みます。

draft() メソッドを使用すると、RGB 画像を L に変換し、画像をロード中に元のサイズの 1/2、1/4、または 1/8 にサイズ変更することで、処理を高速化できます。

デフォルトでは、Pillow は切り捨てられた JPEG ファイルの読み込みを許可しません。ImageFile.LOAD_TRUNCATED_IMAGES を設定して、これをオーバーライドします。

開く

open() メソッドは、使用可能な場合、以下の info プロパティを設定することがあります。

jfif

JFIF アプリケーションマーカーが見つかりました。ファイルが JFIF ファイルでない場合、このキーは存在しません。

jfif_version

jfif バージョンを表すタプル (メジャーバージョン、マイナーバージョン)。

jfif_density

jfif_unit で指定された単位での画像のピクセル密度を表すタプル。

jfif_unit

jfif_density の単位

  • 0 - 単位なし

  • 1 - インチあたりのピクセル数

  • 2 - センチメートルあたりのピクセル数

dpi

ファイルが jfif ファイルで、単位がインチの場合、1 インチあたりのピクセル数で表される報告されたピクセル密度を表すタプル。

adobe

Adobe アプリケーションマーカーが見つかりました。ファイルが Adobe JPEG ファイルでない場合、このキーは存在しません。

adobe_transform

ベンダー固有タグ。

progression

これがプログレッシブ JPEG ファイルであることを示します。

icc_profile

画像の ICC カラープロファイル。

exif

画像からの生の EXIF データ。

comment(コメント)

画像に関するコメント。

バージョン 7.1.0 で追加されました。

保存

save() メソッドは、以下のオプションをサポートしています。

quality

0 (最悪) から 95 (最良) までのスケールでの画像品質、または文字列 keep。デフォルトは 75 です。95 を超える値は避けるべきです。100 は JPEG 圧縮アルゴリズムの一部を無効にし、画像品質のゲインがほとんどない大きなファイルになります。値 keep は JPEG ファイルに対してのみ有効で、元の画像品質レベル、サブサンプリング、および qtables を保持します。

optimize(最適化)

存在し、true の場合、エンコーダが最適なエンコーダ設定を選択するために画像をもう一度パスする必要があることを示します。

progressive

存在し、true の場合、この画像をプログレッシブ JPEG ファイルとして保存する必要があることを示します。

dpi

ピクセル密度を表す整数のタプル、(x,y)

icc_profile

存在し、true の場合、画像は指定された ICC プロファイルで保存されます。このパラメータが指定されていない場合、画像はプロファイルが添付されずに保存されます。既存のプロファイルを保持するには

im.save(filename, 'jpeg', icc_profile=im.info.get('icc_profile'))
exif

存在する場合、画像は指定された生の EXIF データで保存されます。

keep_rgb

デフォルトでは、libjpeg は RGB カラースペースの画像を YCbCr に変換します。このオプションが存在し、true の場合、これらの画像は代わりに RGB として保存されます。

このオプションが有効になっている場合、subsampling オプションを使用して RGB 画像をクロマサブサンプリングしようとすると、OSError が発生します。

バージョン 10.2.0 で追加されました。

subsampling

存在する場合、エンコーダのサブサンプリングを設定します。

  • keep: JPEG ファイルに対してのみ有効で、元の画像設定を保持します。

  • 4:4:44:2:24:2:0: 特定のサンプリング値

  • 0: 4:4:4 と同等

  • 1: 4:2:2 と同等

  • 2: 4:2:0 と同等

存在しない場合、設定は libjpeg または libjpeg-turbo によって決定されます。

restart_marker_blocks

存在する場合、指定された数の MCU ブロックが生成されるたびに再起動マーカーを出力します。

バージョン 10.2.0 で追加されました。

restart_marker_rows

存在する場合、指定された数の MCU 行が生成されるたびに再起動マーカーを出力します。

バージョン 10.2.0 で追加されました。

qtables

存在する場合、エンコーダの qtables を設定します。これは、JPEG ドキュメントのウィザード向けの上級オプションとしてリストされています。注意して使用してください。qtables は、いくつかのタイプの値のいずれかになります。

  • プリセットに名前を付ける文字列、例: keepweb_low、または web_high

  • 64 個の整数のリストのリスト、タプル、または辞書 (整数キー = range(len(keys)) を持つ)。2 から 4 個のテーブルが必要です。

バージョン 2.5.0 で追加されました。

streamtype

量子化テーブルとハフマンテーブルなしで、またはこれらのテーブルはあるが画像データなしで画像を保存できます。これは、テーブルを個別に処理し、画像間で共有するコンテナ形式またはネットワークプロトコルに役立ちます。

  • 0 (デフォルト): テーブルと画像データを含む交換データストリーム

  • 1: 省略されたテーブル仕様 (テーブルのみ) データストリーム

    バージョン 10.2.0 で追加されました。

  • 2: 省略された画像 (画像のみ) データストリーム

comment(コメント)

画像に関するコメント。

バージョン 9.4.0 で追加されました。

注記

JPEG サポートを有効にするには、Python Imaging Library をビルドする前に、IJG JPEG ライブラリをビルドしてインストールする必要があります。詳細は、配布 README を参照してください。

JPEG 2000

バージョン 2.4.0 で追加されました。

Pillow は、LLARGBRGBA、または YCbCr データを含む JPEG 2000 ファイルを読み書きします。読み取り時、YCbCr データは、アルファチャンネルがあるかどうかに応じて RGB または RGBA に変換されます。バージョン 8.3.0 以降、Pillow はサブサンプリングされたコンポーネントを持つ RGBRGBA、および YCbCr 画像を読み取ることができます (書き込みはできません)。Pillow は、JPEG 2000 raw codestreams (.j2k ファイル) と、boxed JPEG 2000 ファイル (.jp2 または .jpx ファイル) をサポートしています。

ロード時に、load() メソッドが呼び出される前に画像の mode を設定すると、Pillow に画像を自動選択ではなく RGB または RGBA に変換するように指示できます。また、reduce を破棄する解像度の数(それぞれ結果の画像のサイズを 2 分の 1 に縮小します)に設定し、layers をロードする品質レイヤーの数に設定することもできます。

保存

save() メソッドは、以下のオプションをサポートしています。

offset

画像のオフセット。整数のタプルとして指定します。例: (16, 16)

tile_offset

タイルのオフセット。これも整数の 2 要素タプルです。

tile_size

タイルサイズ。2 要素のタプルです。指定しない場合、または None に設定した場合、画像はタイル化されずに保存されます。

quality_mode

画像の品質を指定する単位に応じて、"rates" または "dB" のいずれかです。

quality_layers

数値のシーケンス。それぞれの数値は、おおよそのサイズ縮小率(品質モードが "rates" の場合)または信号対雑音比値(デシベル単位)を表します。指定しない場合、デフォルトでは完全な品質の単一レイヤーになります。

num_resolutions

保存する異なる画像解像度の数(離散ウェーブレット変換分解の数に 1 を加えた数に対応します)。

codeblock_size

コードブロックサイズ。2 要素のタプルです。最小サイズは 4 x 4、最大サイズは 1024 x 1024 で、さらにコードブロックの係数が 4096 を超えてはならないという制限があります(つまり、2 つの数の積は 4096 以下でなければなりません)。

precinct_size

プリシンクトサイズ。2 要素のタプルです。両軸に沿って 2 の累乗でなければならず、コードブロックサイズよりも大きくする必要があります。

irreversible

True の場合、非可逆離散ウェーブレット変換 DWT 9-7 を使用します。デフォルトは False で、可逆 DWT 5-3 を使用します。

mct

1 の場合、エンコード時にマルチコンポーネント変換を有効にします。それ以外の場合は、コンポーネント変換なし(デフォルト)に 0 を使用します。MCT が有効で irreversibleTrue の場合、非可逆色変換が適用されます。それ以外の場合は、エンコードで可逆色変換が使用されます。MCT は modeRGB の場合に最適に機能し、画像データに 3 つのコンポーネントがある場合にのみ適用できます。

バージョン 9.1.0 で追加。

progression

プログレッション順序を制御します。"LRCP""RLCP""RPCL""PCRL""CPRL" のいずれかである必要があります。これらの文字は、それぞれコンポーネント、位置、解像度、レイヤーを表し、エンコードの順序を制御します。たとえば、LRCP モードを使用してエンコードされた画像は、デコーダーに到着したときに品質レイヤーをデコードできますが、RLCP モードを使用してエンコードされた画像は、デコーダーに到着したときに解像度が向上します。

signed

true の場合、エンコーダーに画像を符号付きで保存するように指示します。

バージョン 9.4.0 で追加されました。

cinema_mode

エンコーダーをデジタルシネマ仕様に準拠した出力を生成するように設定します。ここでのオプションは、"no"(デフォルト)、24fps 2K の場合は "cinema2k-24"、48fps 2K の場合は "cinema2k-48"、24fps 4K の場合は "cinema4k-24" です。準拠する 2K ファイルの場合、画像の次元の少なくとも 1 つが 2048 x 1080 と一致する必要があることに注意してください。準拠する 4K ファイルの場合、次元の少なくとも 1 つが 4096 x 2160 と一致する必要があります。

no_jp2

True の場合、保存時に生のコードストリームを JP2 ファイル形式でラップしません。それ以外の場合は、ファイル名の拡張子を使用して形式が決定されます(デフォルト)。

バージョン 9.1.0 で追加。

comment(コメント)

デフォルトの「Created by OpenJPEG version」コメントを置き換えて、ファイルにカスタムコメントを追加します。

バージョン 9.5.0 で追加。

plt

OpenJPEG 2.4.0 以降が利用可能で、True の場合、生成されるファイルに PLT(パケット長、タイルパートヘッダー)マーカーを含めます。デフォルトは False です。

バージョン 9.5.0 で追加。

注記

JPEG 2000 サポートを有効にするには、Python Imaging Library をビルドする前に、OpenJPEG ライブラリ バージョン 2.0.0 以降をビルドしてインストールする必要があります。

Windows ユーザーは、OpenJPEG Web サイトで入手できる OpenJPEG バイナリをインストールできますが、Pillow を使用するには、それらを PATH に追加する必要があります(これを行わないと、_imaging DLL をロードできないというエラーが発生します)。

MSP

Pillow は、Windows 1 および 2 の MSP ファイルを識別して読み取ります。ライブラリは、この形式の非圧縮(Windows 1)バージョンを書き込みます。

PCX

Pillow は、1LP、または RGB データを含む PCX ファイルを読み書きします。

PFM

バージョン 10.3.0 で追加。

Pillow は、F データを含むグレースケール (Pf 形式) の Portable FloatMap (PFM) ファイルを読み書きします。

カラー (PF 形式) の PFM ファイルはサポートされていません。

開く

open() 関数は、次の info プロパティを設定します。

scale(スケール)

*スケールファクター/エンディアン*行に格納されている数値の絶対値。

PNG

Pillow は、1LLAIPRGB、または RGBA データを含む PNG ファイルを識別、読み取り、および書き込みます。インターレースファイルは v1.1.7 以降でサポートされています。

Pillow 6.0 以降、EXIF データは PNG 画像から読み取ることができます。ただし、他の画像形式とは異なり、EXIF データは、load() が呼び出されるまで、info に存在することが保証されません。

デフォルトでは、Pillow は切り捨てられた PNG ファイルの読み込みを許可しません。ImageFile.LOAD_TRUNCATED_IMAGES を設定して、これをオーバーライドします。

開く

open() 関数は、該当する場合、次の info プロパティを設定します。

chromaticity

色度点。浮動小数点数の 8 要素タプルです。(白色点X白色点Y赤色X赤色Y緑色X緑色Y青色X青色Y)

gamma

ガンマ。浮動小数点数として指定します。

srgb

sRGB レンダリングインテント。整数として指定します。

  • 0 知覚的

  • 1 相対的な色彩

  • 2 彩度

  • 3 絶対的な色彩

transparency(透明度)

P 画像の場合: 完全透明ピクセルのパレットインデックス、または各パレットエントリのアルファ値を含むバイト文字列。

1LI、および RGB 画像の場合、この画像で完全透明ピクセルを表す色。

画像が透明なパレット画像でない場合、このキーは省略されます。

open は、PNG 画像の tEXtzTXt、および iTXt チャンクの値の辞書に Image.text を設定します。個々の圧縮チャンクは、解凍爆弾を防ぐために、解凍サイズがデフォルトで 1 MB の PngImagePlugin.MAX_TEXT_CHUNK に制限されています。さらに、すべてのテキストチャンクの合計サイズは、デフォルトで 64 MB の PngImagePlugin.MAX_TEXT_MEMORY に制限されています。

保存

save() メソッドは、以下のオプションをサポートしています。

optimize(最適化)

存在し、true の場合、PNG ライターに出力ファイルをできるだけ小さくするように指示します。これには、最適なエンコーダー設定を見つけるための追加処理が含まれます。

transparency(透明度)

P1LI、および RGB 画像の場合、このオプションは、画像のどの色を透明としてマークするかを制御します。

P 画像の場合、これはパレットインデックス、または各パレットエントリのアルファ値を含むバイト文字列のいずれかです。

dpi

各方向の目的の dpi に対応する 2 つの数値のタプル。

pnginfo

チャンクを含む PIL.PngImagePlugin.PngInfo インスタンス。

compress_level(圧縮レベル)

ZLIB 圧縮レベル。0 から 9 までの数値です。1 は最速、9 は最高圧縮、0 は圧縮なしです。デフォルトは 6 です。optimize オプションが True の場合、compress_level は効果がなく、渡された値に関係なく 9 に設定されます。

icc_profile

保存ファイルに含める ICC プロファイル。

exif

保存ファイルに含める Exif データ。

バージョン 6.0.0 で追加。

bits(ビット)(実験的)

P 画像の場合、このオプションは保存するビット数を制御します。省略すると、PNG ライターは 8 ビット(256 色)を使用します。

dictionary(辞書)(実験的)

ZLIB エンコーダ辞書を設定します。

注記

PNG サポートを有効にするには、Python Imaging Library をビルドする前に、ZLIB 圧縮ライブラリをビルドしてインストールする必要があります。詳細は、インストールに関するドキュメント を参照してください。

APNG シーケンス

PNG ローダーには、Animated Portable Network Graphics (APNG) ファイルの読み書きに対する限定的なサポートが含まれています。APNG ファイルがロードされると、get_format_mimetype()"image/apng" を返します。is_animated プロパティの値は、n_frames プロパティが 1 より大きい場合に True になります。APNG ファイルの場合、n_frames プロパティは、アニメーションフレーム数とデフォルト画像の有無の両方に依存します。詳細は、以下の default_image プロパティのドキュメントを参照してください。seek() メソッドと tell() メソッドがサポートされています。

最後のフレームの後にシークしようとすると、im.seek()EOFErrorを発生させます。

該当する場合、これらの info プロパティは APNG フレームに設定されます。

default_image(デフォルト画像)

この APNG ファイルに、実際の APNG アニメーションの一部ではない、個別のデフォルト画像が含まれているかどうかを指定します。

APNG ファイルにデフォルト画像が含まれている場合、最初にロードされた画像(つまり、seek(0) の結果)はデフォルト画像になります。デフォルト画像の存在を考慮するために、n_frames プロパティは frame_count + 1 に設定されます。ここで、frame_count は実際の APNG アニメーションフレーム数です。最初の APNG アニメーションフレームをロードするには、seek(1) を呼び出す必要があります。

  • True - APNG には、アニメーションフレームではないデフォルト画像が含まれています。

  • False - APNG にはデフォルト画像が含まれていません。n_frames プロパティは、実際の APNG アニメーションフレーム数に設定されます。最初にロードされた画像(つまり、seek(0))は、最初の APNG アニメーションフレームになります。

loop(ループ)

この APNG をループする回数。0 は無限ループを示します。

duration(期間)

この APNG フレームを表示する時間(ミリ秒単位)。

注記

APNG ローダーは、APNG ファイルの論理画面サイズと同じサイズの画像を返します。返される画像には、APNG フレームの破棄操作とフレームブレンド操作を適用した後の、特定のフレームのピクセルデータが含まれています(つまり、Web ブラウザがこのフレームにレンダリングする内容、つまり、以前のすべてのフレームとこのフレームの合成が含まれています)。

シーケンスエラーを含む APNG ファイルは無効な画像として扱われます。APNG ローダーは、シーケンスエラーを含むファイルの修復と並べ替えを試みません。

保存

save() を呼び出すと、デフォルトでは単一フレームの PNG ファイルのみが保存されます。APNG ファイル(単一フレームの APNG を含む)を保存するには、save_all パラメータを True に設定する必要があります。以下のパラメータも設定できます。

default_image(デフォルト画像)

ベース画像がデフォルト画像かどうかを指定するブール値。True の場合、ベース画像はデフォルト画像として使用され、append_images シーケンスの最初の画像が最初の APNG アニメーションフレームになります。False の場合、ベース画像は最初の APNG アニメーションフレームとして使用されます。デフォルトは False です。

append_images (画像を追加)

追加フレームとして追加する画像のリストまたはタプル。リスト内の各画像は、単一または複数フレームの画像にすることができます。各フレームのサイズは、ベース画像のサイズと一致する必要があります。また、フレームのモードがベース画像のモードと一致しない場合、フレームはベース画像のモードに変換されることに注意してください。

loop(ループ)

この APNG をループする回数(整数)。0 は無限ループを示します。デフォルトは 0 です。

duration(期間)

この APNG フレームを表示する時間の長さ(ミリ秒単位)(整数、または整数のリストまたはタプル)。デフォルトは 0 です。

disposal(廃棄)

次のフレームをレンダリングする前に、このフレームに使用する APNG 破棄操作を指定する整数(または整数のリストまたはタプル)。デフォルトは 0 です。

  • 0 (OP_NONE、デフォルト) - 次のフレームをレンダリングする前に、このフレームでは破棄は行われません。

  • 1 (PIL.PngImagePlugin.Disposal.OP_BACKGROUND) - 次のフレームをレンダリングする前に、このフレームの変更された領域は完全に透明な黒にクリアされます。

  • 2 (OP_PREVIOUS) - 次のフレームをレンダリングする前に、このフレームの変更された領域は前のフレームの内容に戻されます。

blend(ブレンド)

次のフレームをレンダリングする前に、このフレームに使用する APNG ブレンド操作を指定する整数(または整数のリストまたはタプル)。デフォルトは 0 です。

  • 0 (OP_SOURCE) - アルファを含むこのフレームのすべてのカラーコンポーネントは、以前の出力画像の内容を上書きします。

  • 1 (OP_OVER) - このフレームは、以前の出力画像の内容とアルファ合成する必要があります。

注記

durationdisposalblend パラメータは、リストまたはタプルに設定して、アニメーションの個々のフレームの値を指定できます。リストまたはタプルの長さは、APNG アニメーションの実際のフレームの総数と一致する必要があります。APNG にデフォルト画像が含まれている場合(つまり、default_imageTrue に設定されている場合)、これらのリストまたはタプルパラメータには、デフォルト画像のエントリを含めないでください。

PPM

Pillow は、1LI、または RGB データを含む PBM、PGM、PPM、および PNM ファイルを読み書きします。

「Raw」(P4 から P6)形式を読み取ることができ、書き込み時に使用されます。

Pillow 9.2.0 以来、「plain」(P1 から P3)形式も読み取ることができます。

SGI

Pillow は、非圧縮の LRGB、および RGBA ファイルを読み書きします。

SPIDER

Pillow は、32 ビット浮動小数点データ(「F;32F」)の SPIDER 画像ファイルを読み書きします。

Pillow は、SPIDER 画像のシーケンスを含む SPIDER スタックファイルも読み取ります。seek() メソッドと tell() メソッドがサポートされており、ランダムアクセスが可能です。

開く

open() メソッドは、以下の属性を設定します。

format(フォーマット)

SPIDER に設定されます。

istack(スタックかどうか)

ファイルが画像スタックの場合は 1、そうでない場合は 0 に設定されます。

n_frames(フレーム数)

スタック内の画像の数に設定されます。

浮動小数点データをバイトデータ(モード L)に変換するための便利なメソッドである convert2byte() が提供されています。

im = Image.open("image001.spi").convert2byte()

保存

SPIDERファイルの拡張子は、任意の3文字の英数字です。そのため、出力フォーマットは明示的に指定する必要があります。

im.save('newimage.spi', format='SPIDER')

SPIDER画像処理パッケージの詳細については、https://github.com/spider-em/SPIDERを参照してください。

TGA

Pillowは、LLAPRGB、およびRGBAデータを含むTGA画像の読み書きを行います。Pillowは、非圧縮とランレングス符号化されたTGAの両方を読み書きできます。

保存

save() メソッドは、以下のキーワード引数を取ることができます。

compression

「tga_rle」に設定すると、ファイルはランレングス符号化されます。

バージョン5.3.0で追加されました。

id_section

識別フィールド。

バージョン5.3.0で追加されました。

orientation

存在し、正の数値の場合、最初のピクセルは左下隅ではなく、左上隅になります。

バージョン5.3.0で追加されました。

TIFF

PillowはTIFFファイルの読み書きを行います。ストライプ画像とタイル画像、ピクセルインターリーブとプレーンインターリーブのマルチバンド画像の両方を読み取ることができます。libtiffとそのヘッダーがインストールされている場合、Pillowは多くの種類の圧縮TIFFファイルを読み書きできます。そうでない場合、Pillowは非圧縮ファイルのみを読み書きします。

注記

バージョン5.0.0以降、Pillowは圧縮ファイルの読み書きにlibtiffを必要とします。このリリース以前は、Pillowはlibtiffを使用せずにPackbits、LZW、JPEGで圧縮されたTIFFを読み取るためのバグのあるサポートを提供していました。

開く

open() メソッドは、次の info プロパティを設定します。

compression

圧縮モード。

バージョン2.0.0で追加されました。

dpi

該当する場合、画像解像度は(xdpi, ydpi)タプルとして表されます。tag属性を使用して、画像解像度の詳細情報を取得できます。

バージョン1.1.5で追加されました。

resolution

該当する場合、画像解像度は(xres, yres)タプルとして表されます。これは、ファイルで指定されている単位での測定値です。

バージョン1.1.5で追加されました。

tag_v2属性には、TIFFメタデータの辞書が含まれています。キーはTiffTags.TAGS_V2からの数値インデックスです。値は単一の項目の場合は文字列または数値であり、複数の値は値のタプルで返されます。有理数はIFDRationalオブジェクトとして返されます。

バージョン3.0.0で追加されました。

レガシーコードとの互換性のために、tag属性には、バージョン3.0.0より前に返されたデコードされたTIFFフィールドの辞書が含まれています。値は、文字列または数値のタプルのいずれかとして返されます。有理数は(numerator, denominator)のタプルとして返されます。

バージョン3.0.0から非推奨です。

マルチフレームTIFF画像の読み込み

TIFFローダーは、seek()メソッドとtell()メソッドをサポートしており、画像ファイル内のフレーム番号を取得および返します。これらのメソッドを組み合わせて、次のフレームに移動できます(im.seek(im.tell() + 1))。フレームは0からim.n_frames - 1まで番号が付けられており、任意の順序でアクセスできます。

最後のフレームの後にシークしようとすると、im.seek()EOFErrorを発生させます。

保存

save() メソッドは、以下のキーワード引数を取ることができます。

save_all(すべて保存)

trueの場合、Pillowは画像のすべてのフレームをマルチフレームTIFFドキュメントに保存します。

バージョン3.4.0で追加されました。

append_images (画像を追加)

追加フレームとして追加する画像のリスト。リスト内の各画像は、シングルフレーム画像またはマルチフレーム画像にすることができます。ただし、正しい結果を得るには、追加するすべての画像に同じencoderinfoプロパティとencoderconfigプロパティを設定する必要があります。

バージョン4.2.0で追加されました。

tiffinfo

TIFFタグと値を含むImageFileDirectory_v2オブジェクトまたはdictオブジェクト。TIFFフィールドタイプは、数値と文字列の値に対して自動的に検出されます。その他のタイプの場合は、ImageFileDirectory_v2オブジェクトを使用し、tagtypeTiffTags.TYPESから適切な数値を設定する必要があります。

バージョン2.3.0で追加されました。

有理数タイプのメタデータ値は、IFDRationalオブジェクトを使用して渡す必要があります。

バージョン3.1.0で追加されました。

レガシーコードとの互換性のために、ImageFileDirectory_v1オブジェクトをこのフィールドに渡すことができます。ただし、これは非推奨です。

バージョン5.4.0で追加されました。

以前のバージョンでは、libtiffを使用して書き込む際に一部のタグのみがサポートされていました。サポートされているリストは、TiffTags.LIBTIFF_COREにあります。

バージョン6.1.0で追加されました。

符号付きタイプ(例:TIFF_SIGNED_LONG)と複数の値のサポートが追加されました。単一のタグの複数の値は、ImageFileDirectory_v2にタプルとして渡す必要があり、tagtypeのtagtypeで一致する型が必要です。

exif

他のフォーマットとの整合性のために、「tiffinfo」の代替キーワード。

バージョン8.4.0で追加されました。

compression

ファイルに必要な圧縮方法を含む文字列。(libtiffがインストールされている場合のみ有効)有効な圧縮方法は次のとおりです:None"group3""group4""jpeg""lzma""packbits""tiff_adobe_deflate""tiff_ccitt""tiff_lzw""tiff_raw_16""tiff_sgilog""tiff_sgilog24""tiff_thunderscan""webp""zstd"

quality

JPEG圧縮の画質。0(最低)から100(最高)までのスケールです。デフォルトは75です。

バージョン6.1.0で追加されました。

tiffヘッダーフィールドを設定するためのこれらの引数は、tiffinfoで利用可能な一般的なタグを使用する代わりに使用できます。

description

software

date_time

artist

copyright

文字列

icc_profile

保存ファイルに含める ICC プロファイル。

resolution_unit

整数。1は単位なし、2はインチ、3はセンチメートルです。

resolution

整数または浮動小数点数のいずれか。x解像度とy解像度の両方に使用されます。

x_resolution

整数または浮動小数点数のいずれか。

y_resolution

整数または浮動小数点数のいずれか。

dpi

解像度単位としてインチを使用する(x_resolution, y_resolution)のタプル。他の画像形式との整合性のために、dpiのx解像度とy解像度は最も近い整数に丸められます。

WebP

PillowはWebPファイルの読み書きを行います。libwebp v0.5.0以降が必要です。

保存

save() メソッドは、以下のオプションをサポートしています。

lossless

存在し、trueの場合、WebPライターにロスレス圧縮を使用するように指示します。

quality

整数、0〜100、デフォルトは80。非可逆圧縮の場合、0は最小サイズ、100は最大サイズになります。可逆圧縮の場合、このパラメータは圧縮に費やされる労力です。0は最速ですが、最も遅い100と比較してファイルサイズが大きくなります。100は最高ですが、最も遅くなります。

alpha_quality

整数、0〜100、デフォルトは100。非可逆圧縮の場合のみ。0は最小サイズ、100はロスレスです。

method

品質と速度のトレードオフ(0 = 高速、6 = 低速で高品質)。デフォルトは4です。

exact

trueの場合、透明なRGB値を保持します。そうでない場合、圧縮率を上げるために見えないRGB値を破棄します。デフォルトはfalseです。

icc_profile

保存ファイルに含める ICC プロファイル。

exif

保存ファイルに含める Exif データ。

xmp

保存されたファイルに含めるXMPデータ。

シーケンスの保存

WebPファイルを書き込むためにsave()を呼び出す場合、デフォルトではマルチフレーム画像の最初のフレームのみが保存されます。save_all引数が存在し、Trueの場合、すべてのフレームが保存され、以下のオプションも使用可能になります。

append_images (画像を追加)

追加フレームとして追加する画像のリスト。リスト内の各画像は、シングルフレームまたはマルチフレーム画像にすることができます。

duration(期間)

各フレームの表示時間(ミリ秒)。一定の時間を指定する場合は単一の整数を、フレームごとに時間を設定する場合はリストまたはタプルを渡します。

loop(ループ)

アニメーションの繰り返し回数。デフォルトは[0 = 無限]です。

background(背景)

キャンバスの背景色。値が(0-255)の範囲のRGBAタプルとして指定します。

minimize_size

Trueの場合、出力サイズを最小化します(低速)。暗黙的にキーフレームの挿入を無効にします。

kmin, kmax

出力における連続するキーフレーム間の最小距離と最大距離。ライブラリはこの基準を満たすために、必要に応じてキーフレームを挿入する場合があります。これらの条件が成立する必要があります:kmax > kmin かつ kmin >= kmax / 2 + 1。また、kmax <= 0 の場合、キーフレームの挿入は無効になります。kmax == 1 の場合、すべてのフレームがキーフレームになります(これらの特殊なケースではkmin値は関係ありません)。

allow_mixed

Trueの場合、混合圧縮モードを使用します。エンコーダは、各フレームに損失のある圧縮と損失のない圧縮をヒューリスティックに選択します。

XBM

PillowはXビットマップファイル(モード1)を読み書きします。

読み取り専用フォーマット

CUR

CURはWindowsでカーソルを保存するために使用されます。CURデコーダは、使用可能な最大のカーソルを読み取ります。アニメーションカーソルはサポートされていません。

DCX

DCXは、Intelによって定義されたPCXファイル用のコンテナファイル形式です。DCX形式は、FAXアプリケーションで一般的に使用されます。DCXデコーダは、1LP、またはRGBデータを含むファイルを読み取ることができます。

ファイルを開くと、最初の画像のみが読み取られます。seek()またはImageSequenceを使用して他の画像を読み取ることができます。

FITS

バージョン 9.1.0 で追加。

Pillowは、天文学で一般的に使用されるFITSファイルを識別して読み取ります。非圧縮およびGZIP_1圧縮画像を読み取ることができます。

FLI, FLC

Pillowは、Autodesk FLIおよびFLCアニメーションを読み取ります。

open() メソッドは、次の info プロパティを設定します。

duration(期間)

各フレーム間の遅延(ミリ秒)。

FPX

Pillowは、Kodak FlashPixファイルを読み取ります。ファイルから最高解像度の画像のみが読み取られ、表示変換は考慮されません。

FPXサポートを有効にするには、olefileをインストールする必要があります。

注記

FlashPixの完全なサポートを有効にするには、Python Imaging Libraryをビルドする前に、IJG JPEGライブラリをビルドしてインストールする必要があります。詳細は、配布READMEを参照してください。

FTEX

バージョン3.2.0で追加されました。

FTEXデコーダは、Independence War 2: Edge Of Chaosで3Dオブジェクトに使用されるテクスチャを読み取ります。このプラグインは、ファイルごとに1つのテクスチャを圧縮形式と非圧縮形式で読み取ります。

GBR

GBRデコーダは、バージョン1と2のGIMPブラシファイルを読み取ります。

開く

open() メソッドは、次の info プロパティを設定します。

comment(コメント)

ブラシの名前。

spacing

ブラシ間の間隔(ピクセル単位)。バージョン2のみ。

GD

Pillowは、非圧縮GD2ファイルを読み取ります。このようなファイルを読み取るには、PIL.GdImageFile.open()を使用する必要があることに注意してください。

開く

open() メソッドは、次の info プロパティを設定します。

transparency(透明度)

透明色のインデックス。画像が透明でない場合、このキーは省略されます。

IMT

Pillowは、Lデータを含むImage Tools画像を読み取ります。

IPTC/NAA

Pillowは、IPTC / NAAニュース写真ファイルの限定的な読み取りサポートを提供します。

MCIDAS

Pillowは、8ビットMcIdasエリアファイルを識別して読み取ります。

MIC

Pillowは、Microsoft Image Composer(MIC)ファイルを識別して読み取ります。開くと、ファイルの最初のスプライトがロードされます。seek()tell()を使用して、ファイルから他のスプライトを読み取ることができます。

MICファイルには、2.2の埋め込みガンマがある場合があります。

MICサポートを有効にするには、olefileをインストールする必要があります。

MPO

Pillowは、Multi Picture Object(MPO)ファイルを識別して読み取り、最初に開いたときにプライマリ画像をロードします。seek()メソッドとtell()メソッドを使用して、ファイルから他の画像を読み取ることができます。画像はゼロインデックスで、ランダムアクセスがサポートされています。

保存

MPOファイルを書き込むためにsave()を呼び出す場合、デフォルトではマルチフレーム画像の最初のフレームのみが保存されます。save_all引数が存在し、Trueの場合、すべてのフレームが保存され、以下のオプションも使用可能になります。

append_images (画像を追加)

追加の画像として追加する画像のリスト。リスト内の各画像は、シングルフレームまたはマルチフレーム画像にすることができます。

バージョン9.3.0で追加されました。

PCD

Pillowは、RGBデータを含むPhotoCDファイルを読み取ります。これは、ファイルから768x512解像度の画像のみを読み取ります。より高い解像度は、独自のエンコーディングでエンコードされています。

PIXAR

Pillowは、PIXARラスターファイルの限定的なサポートを提供します。ライブラリは、「ダンプされた」RGBファイルを識別して読み取ることができます。

フォーマットコードはPIXARです。

PSD

Pillowは、Adobe Photoshop 2.5および3.0によって書かれたPSDファイルを識別して読み取ります。

QOI

バージョン 9.5.0 で追加。

Pillowは、Pythonデコーダーを使用してQuite OK Image形式の画像を読み取ります。この形式専用のコードを作成する場合は、qoiがCを使用して画像をデコードし、NumPyとインターフェースする代替ライブラリです。

SUN

Pillowは、Sunラスターファイルを識別して読み取ります。

WAL

バージョン1.1.4で追加されました。

PillowはQuake2 WALテクスチャファイルを読み取ります。

このファイル形式は自動的に識別できないため、WalImageFileモジュールのopen関数を使用してこの形式のファイルを読み取る必要があることに注意してください。

デフォルトでは、Quake2標準パレットがテクスチャに添付されます。パレットをオーバーライドするには、PIL.Image.Image.putpalette()メソッドを使用します。

WMF, EMF

Pillowは、WMFおよびEMFファイルを識別できます。

Windowsでは、WMFおよびEMFファイルを読み取ることができます。デフォルトでは、画像は72 dpiでロードされます。別の解像度でロードするには

from PIL import Image

with Image.open("drawing.wmf") as im:
    im.load(dpi=144)

他の読み取りまたは書き込みサポートを追加するには、PIL.WmfImagePlugin.register_handler()を使用して、WMFおよびEMFハンドラを登録します。

from typing import IO

from PIL import Image, ImageFile
from PIL import WmfImagePlugin


class WmfHandler(ImageFile.StubHandler):
    def open(self, im: ImageFile.StubImageFile) -> None:
        ...

    def load(self, im: ImageFile.StubImageFile) -> Image.Image:
        ...
        return image

    def save(self, im: Image.Image, fp: IO[bytes], filename: str) -> None:
        ...


wmf_handler = WmfHandler()

WmfImagePlugin.register_handler(wmf_handler)

im = Image.open("sample.wmf")

XPM

Pillowは、256色以下のXピクスマップファイル(モードP)を読み取ります。

開く

open() メソッドは、次の info プロパティを設定します。

transparency(透明度)

透明色のインデックス。画像が透明でない場合、このキーは省略されます。

書き込み専用フォーマット

PALM

Pillowは、PALMピクスマップファイルの書き込み専用サポートを提供します。

フォーマットコードはPalm、拡張子は.palmです。

PDF

PillowはPDF(Acrobat)画像を書き込むことができます。このような画像は、バイナリPDF 1.4ファイルとして書き込まれます。画像モードに応じて、異なるエンコード方法が使用されます。

  • モード1の画像は、TIFFエンコーディングを使用して保存されます。libtiffのサポートがない場合はJPEGエンコーディングが使用されます。

  • L、RGB、CMYKモードの画像はJPEGエンコーディングを使用します。

  • Pモードの画像はHEXエンコーディングを使用します。

  • LAおよびRGBAモードの画像はJPEG2000エンコーディングを使用します。

保存

save() メソッドは、以下のキーワード引数を取ることができます。

save_all(すべて保存)

マルチフレーム画像を使用する場合、デフォルトでは最初の画像のみが保存されます。すべてのフレームをPDFの個別のページに保存するには、save_allパラメータが存在し、Trueに設定されている必要があります。

バージョン3.0.0で追加されました。

append_images (画像を追加)

追加ページとして追加するPIL.Image.Imageオブジェクトのリスト。リスト内の各画像は、シングルフレームまたはマルチフレーム画像にすることができます。append_imagesと組み合わせて、save_allパラメータが存在し、Trueに設定されている必要があります。

バージョン4.2.0で追加されました。

append

既存のPDFファイルにページを追加するには、Trueに設定します。ファイルが存在しない場合、OSErrorが発生します。

バージョン 5.1.0 で追加されました。

resolution

画像解像度(DPI)。これは、画像のピクセル数とともに、PDFに保存されるページの物理的な寸法を決定します。

dpi

解像度単位をインチとする(x_resolution, y_resolution)のタプル。resolutionパラメータとdpiパラメータの両方が存在する場合、resolutionは無視されます。

title

ドキュメントのタイトル。既存のPDFファイルに追加しない場合、デフォルトでファイル名になります。

バージョン 5.1.0 で追加されました。

作成者

ドキュメントを作成した人の名前。

バージョン 5.1.0 で追加されました。

件名

ドキュメントの件名。

バージョン 5.1.0 で追加されました。

キーワード

ドキュメントに関連付けられたキーワード。

バージョン 5.1.0 で追加されました。

作成アプリケーション

ドキュメントが別のフォーマットからPDFに変換された場合、変換元のオリジナルドキュメントを作成した準拠製品の名前。

バージョン 5.1.0 で追加されました。

PDF変換アプリケーション

ドキュメントが別のフォーマットからPDFに変換された場合、PDFに変換した準拠製品の名前。

バージョン 5.1.0 で追加されました。

作成日時

ドキュメントの作成日時。既存のPDFファイルに追加しない場合、デフォルトで現在の時刻になります。

バージョン5.3.0で追加されました。

更新日時

ドキュメントの更新日時。既存のPDFファイルに追加しない場合、デフォルトで現在の時刻になります。

バージョン5.3.0で追加されました。

XVサムネイル

PillowはXVサムネイルファイルを読み取ることができます。

識別のみのフォーマット

BUFR

バージョン1.1.3で追加されました。

PillowはBUFRファイル用のスタブドライバを提供します。

アプリケーションに読み取りまたは書き込みのサポートを追加するには、PIL.BufrStubImagePlugin.register_handler()を使用します。

GRIB

バージョン1.1.5で追加されました。

PillowはGRIBファイル用のスタブドライバを提供します。

このドライバでは、ファイルがGRIBヘッダーで始まる必要があります。埋め込みGRIBデータを含むファイル、または複数のGRIBフィールドを含むファイルがある場合、アプリケーションはファイルハンドルをPillowに渡す前にヘッダーをシークする必要があります。

アプリケーションに読み取りまたは書き込みのサポートを追加するには、PIL.GribStubImagePlugin.register_handler()を使用します。

HDF5

バージョン1.1.5で追加されました。

PillowはHDF5ファイル用のスタブドライバを提供します。

アプリケーションに読み取りまたは書き込みのサポートを追加するには、PIL.Hdf5StubImagePlugin.register_handler()を使用します。

MPEG

PillowはMPEGファイルを識別します。