非推奨および削除

このページでは、過去のメジャーリリースで非推奨になった、または削除されたPillowの機能を一覧表示し、代わりに使用する代替手段を示します。

非推奨機能

以下は、非推奨と見なされている機能です。適切な場合は、DeprecationWarning が発行されます。

ImageFile.raise_oserror

バージョン10.2.0から非推奨。

ImageFile.raise_oserror() は非推奨となり、Pillow 12.0.0 (2025-10-15) で削除されます。この関数はドキュメント化されておらず、コーデックの decode() メソッドによって返されるエラーコードを変換する場合にのみ役立ちますが、ImageFile は既に自動的にこれを実行しています。

IptcImageFile ヘルパー関数

バージョン10.2.0から非推奨。

関数 IptcImageFile.dumpIptcImageFile.i、および定数 IptcImageFile.PAD は非推奨となり、Pillow 12.0.0 (2025-10-15) で削除されます。これらは内部使用を目的としたドキュメント化されていないヘルパー関数であるため、代替手段はありません。それぞれPythonの組み込み関数を使用して1行のコードで置き換えることができます。

ImageCms 定数と versions() 関数

バージョン10.3.0から非推奨。

ImageCms のいくつかの定数と関数が非推奨となりました。これには、LittleCMSバージョン1に基づいたフラグのテーブルが含まれており、LittleCMS 2フラグに基づいた新しいクラス ImageCms.Flags に置き換えられました。

非推奨

代わりに使用する

ImageCms.DESCRIPTION

代替なし

ImageCms.VERSION

PIL.__version__

ImageCms.FLAGS["MATRIXINPUT"]

ImageCms.Flags.CLUT_POST_LINEARIZATION

ImageCms.FLAGS["MATRIXOUTPUT"]

ImageCms.Flags.FORCE_CLUT

ImageCms.FLAGS["MATRIXONLY"]

代替なし

ImageCms.FLAGS["NOWHITEONWHITEFIXUP"]

ImageCms.Flags.NOWHITEONWHITEFIXUP

ImageCms.FLAGS["NOPRELINEARIZATION"]

ImageCms.Flags.CLUT_PRE_LINEARIZATION

ImageCms.FLAGS["GUESSDEVICECLASS"]

ImageCms.Flags.GUESSDEVICECLASS

ImageCms.FLAGS["NOTCACHE"]

ImageCms.Flags.NOCACHE

ImageCms.FLAGS["NOTPRECALC"]

ImageCms.Flags.NOOPTIMIZE

ImageCms.FLAGS["NULLTRANSFORM"]

ImageCms.Flags.NULLTRANSFORM

ImageCms.FLAGS["HIGHRESPRECALC"]

ImageCms.Flags.HIGHRESPRECALC

ImageCms.FLAGS["LOWRESPRECALC"]

ImageCms.Flags.LOWRESPRECALC

ImageCms.FLAGS["GAMUTCHECK"]

ImageCms.Flags.GAMUTCHECK

ImageCms.FLAGS["WHITEBLACKCOMPENSATION"]

ImageCms.Flags.BLACKPOINTCOMPENSATION

ImageCms.FLAGS["BLACKPOINTCOMPENSATION"]

ImageCms.Flags.BLACKPOINTCOMPENSATION

ImageCms.FLAGS["SOFTPROOFING"]

ImageCms.Flags.SOFTPROOFING

ImageCms.FLAGS["PRESERVEBLACK"]

ImageCms.Flags.NONEGATIVES

ImageCms.FLAGS["NODEFAULTRESOURCEDEF"]

ImageCms.Flags.NODEFAULTRESOURCEDEF

ImageCms.FLAGS["GRIDPOINTS"]

ImageCms.Flags.GRIDPOINTS()

ImageCms.versions()

PIL.features.version_module() with feature="littlecms2", sys.version または sys.version_info、および PIL.__version__

ImageMath eval()

バージョン10.3.0から非推奨。

ImageMath.eval() は非推奨となりました。lambda_eval() または unsafe_eval() を代わりに使用してください。

BGR;15、BGR;16、およびBGR;24

バージョン10.4.0から非推奨。

実験的なBGR;15、BGR;16、およびBGR;24モードは非推奨となりました。

ImageCmsでの非画像モード

バージョン10.4.0から非推奨。

ImageCms での、Pillowの画像モードではない入力モードと出力モードの使用は非推奨となりました。モードをマッピングできない場合に「L」または「1」にデフォルト設定することも非推奨となりました。

LibTIFF 4より前のバージョンへのサポート

バージョン10.4.0から非推奨。

バージョン4より前のLibTIFFへのサポートは非推奨となりました。新しいバージョンのLibTIFFにアップグレードしてください。

ImageDraw.getdraw hintsパラメータ

バージョン10.4.0から非推奨。

getdraw()hints パラメータは非推奨となりました。

FreeType 2.9.0

バージョン11.0.0から非推奨。

FreeType 2.9.0 のサポートは非推奨であり、FreeType 2.9.1 が最小サポートバージョンとなる Pillow 12.0.0 (2025-10-15) で削除されます。

FreeType 2.10.4 以上へのアップグレードをお勧めします。このバージョンでは、FreeType 2.6で導入された深刻な脆弱性 (CVE 2020-15999) が修正されています。

ICNS (幅、高さ、スケール) サイズ

バージョン11.0.0から非推奨。

ロード前にICNS画像サイズを (width, height, scale) に設定することは非推奨となりました。代わりに、 load(scale) を使用できます。

Image.isImageType()

バージョン11.0.0から非推奨。

Image.isImageType(im) は非推奨となりました。isinstance(im, Image.Image) を代わりに使用してください。

ImageMath.lambda_eval と ImageMath.unsafe_eval の options パラメータ

バージョン11.0.0から非推奨。

lambda_eval() および unsafe_eval()options パラメータは非推奨となりました。代わりに、1つ以上のキーワード引数を使用できます。

JpegImageFile.huffman_ac および JpegImageFile.huffman_dc

バージョン11.0.0から非推奨。

JPEG画像のhuffman_ac および huffman_dc ディクショナリは使用されていませんでした。これらは非推奨となり、Pillow 12 (2025-10-15) で削除されます。

特定の WebP 機能チェック

バージョン11.0.0から非推奨。

features.check("transp_webp")features.check("webp_mux")、および features.check("webp_anim") は非推奨となりました。Pillow 12.0.0 (2025-10-15) で削除されるまで、WebP モジュールがインストールされている場合は常に True を返します。

オブジェクトへの内部ポインタの取得

バージョン11.0.0から非推奨。

Image.core.ImagingCore.id および Image.core.ImagingCore.unsafe_ptrs は非推奨となり、Pillow 12 (2025-10-15) で削除されます。これらは ImagingCore 内部への raw ポインタを取得するために使用されていました。Cコードとやり取りするには、Image.Image.getim() を使用できます。これは Capsule オブジェクトを返します。

削除された機能

非推奨機能は、適切な期間の非推奨期間が経過したメジャーリリースでのみ削除されます。

TiffImagePlugin IFD_LEGACY_API

バージョン 11.0.0 で削除されました。

TiffImagePlugin.IFD_LEGACY_API は使用されていない設定だったため削除されました。

PSFile

バージョン 9.5.0 から非推奨。

バージョン 11.0.0 で削除されました。

PSFile クラスは Pillow 11 (2024-10-15) で削除されました。このクラスは内部で使用されるヘルパーとしてのみ作成されたため、代替はありません。ただし、この機能が必要な場合は、非常に短いクラスなので、独自のコードで簡単に再作成できます。

PyAccess および Image.USE_CFFI_ACCESS

バージョン 10.0.0 から非推奨。

バージョン 11.0.0 で削除されました。

Pillow の C API は現在 PyPy 上で PyAccess より高速であるため、PyAccess は削除されました。代わりに、Pillow の C API が PyPy で使用されるようになりました。

Image.USE_CFFI_ACCESS (C API から PyAccess に切り替えるためのもの) も同様に削除されました。

Tk/Tcl 8.4

バージョン 8.2.0 から非推奨。

バージョン 10.0.0 で削除されました。

Tk/Tcl 8.4 のサポートは Pillow 10.0.0 (2023-07-01) で削除されました。

カテゴリ

バージョン 8.2.0 から非推奨。

バージョン 10.0.0 で削除されました。

im.category は、関連する Image.NORMALImage.SEQUENCE、および Image.CONTAINER 属性と共に削除されました。

画像に複数のフレームがあるかどうかを判別するには、代わりに getattr(im, "is_animated", False) を使用できます。

JpegImagePlugin.convert_dict_qtables

バージョン 8.3.0 から非推奨。

バージョン 10.0.0 で削除されました。

Pillow 8.3.0 での非推奨化以降、convert_dict_qtables メソッドは渡されたデータに対して何らかの操作を実行しなくなり、削除されました。

ImagePalette size パラメータ

バージョン 8.4.0 から非推奨。

バージョン 10.0.0 で削除されました。

Pillow 8.3.0 より前では、ImagePalette はデフォルトで特定の長さのペレットデータが必要であり、size パラメータを使用してそれをオーバーライドできました。Pillow 8.3.0 はデフォルトで必要な長さを削除し、size パラメータの必要性も削除しました。

ImageShow.Viewer.show_file file 引数

バージョン 9.1.0 から非推奨。

バージョン 10.0.0 で削除されました。

show_file()file 引数は削除され、path に置き換えられました。

実際には、viewer.show_file("test.jpg") は変更せずに動作し続けます。

定数

バージョン 9.1.0 から非推奨。

バージョン 10.0.0 で削除されました。

多くの定数が削除されました。代わりに、enum.IntEnum クラスが追加されました。

注記

追加の Image 定数は Pillow 9.1.0 で非推奨となりましたが、Pillow 9.4.0 で元に戻され、これらの定数は引き続き使用できます。定数 を参照してください。

削除済み

代わりに使用する

Image.LINEAR

Image.BILINEAR または Image.Resampling.BILINEAR

Image.CUBIC

Image.BICUBIC または Image.Resampling.BICUBIC

Image.ANTIALIAS

Image.LANCZOS または Image.Resampling.LANCZOS

ImageCms.INTENT_PERCEPTUAL

ImageCms.Intent.PERCEPTUAL

ImageCms.INTENT_RELATIVE_COLORMETRIC

ImageCms.Intent.RELATIVE_COLORMETRIC

ImageCms.INTENT_SATURATION

ImageCms.Intent.SATURATION

ImageCms.INTENT_ABSOLUTE_COLORIMETRIC

ImageCms.Intent.ABSOLUTE_COLORIMETRIC

ImageCms.DIRECTION_INPUT

ImageCms.Direction.INPUT

ImageCms.DIRECTION_OUTPUT

ImageCms.Direction.OUTPUT

ImageCms.DIRECTION_PROOF

ImageCms.Direction.PROOF

ImageFont.LAYOUT_BASIC

ImageFont.Layout.BASIC

ImageFont.LAYOUT_RAQM

ImageFont.Layout.RAQM

BlpImagePlugin.BLP_FORMAT_JPEG

BlpImagePlugin.Format.JPEG

BlpImagePlugin.BLP_ENCODING_UNCOMPRESSED

BlpImagePlugin.Encoding.UNCOMPRESSED

BlpImagePlugin.BLP_ENCODING_DXT

BlpImagePlugin.Encoding.DXT

BlpImagePlugin.BLP_ENCODING_UNCOMPRESSED_RAW_RGBA

BlpImagePlugin.Encoding.UNCOMPRESSED_RAW_RGBA

BlpImagePlugin.BLP_ALPHA_ENCODING_DXT1

BlpImagePlugin.AlphaEncoding.DXT1

BlpImagePlugin.BLP_ALPHA_ENCODING_DXT3

BlpImagePlugin.AlphaEncoding.DXT3

BlpImagePlugin.BLP_ALPHA_ENCODING_DXT5

BlpImagePlugin.AlphaEncoding.DXT5

FtexImagePlugin.FORMAT_DXT1

FtexImagePlugin.Format.DXT1

FtexImagePlugin.FORMAT_UNCOMPRESSED

FtexImagePlugin.Format.UNCOMPRESSED

PngImagePlugin.APNG_DISPOSE_OP_NONE

PngImagePlugin.Disposal.OP_NONE

PngImagePlugin.APNG_DISPOSE_OP_BACKGROUND

PngImagePlugin.Disposal.OP_BACKGROUND

PngImagePlugin.APNG_DISPOSE_OP_PREVIOUS

PngImagePlugin.Disposal.OP_PREVIOUS

PngImagePlugin.APNG_BLEND_OP_SOURCE

PngImagePlugin.Blend.OP_SOURCE

PngImagePlugin.APNG_BLEND_OP_OVER

PngImagePlugin.Blend.OP_OVER

FitsStubImagePlugin

バージョン 9.1.0 から非推奨。

バージョン 10.0.0 で削除されました。

スタブイメージプラグイン FitsStubImagePlugin は削除されました。FITS 画像は、代わりに FitsImagePlugin を介してハンドラーなしで読み取ることができます。

フォントサイズとオフセットメソッド

バージョン 9.2.0 から非推奨。

バージョン 10.0.0 で削除されました。

レンダリングされたテキストのサイズとオフセットを計算するためのいくつかの関数が削除されました。

削除済み

代わりに使用する

FreeTypeFont.getsize() および FreeTypeFont.getoffset()

FreeTypeFont.getbbox() および FreeTypeFont.getlength()

FreeTypeFont.getsize_multiline()

ImageDraw.multiline_textbbox()

ImageFont.getsize()

ImageFont.getbbox() および ImageFont.getlength()

TransposedFont.getsize()

TransposedFont.getbbox() および TransposedFont.getlength()

ImageDraw.textsize() および ImageDraw.multiline_textsize()

ImageDraw.textbbox()ImageDraw.textlength()、および ImageDraw.multiline_textbbox()

ImageDraw2.Draw.textsize()

ImageDraw2.Draw.textbbox() および ImageDraw2.Draw.textlength()

以前のコード

from PIL import Image, ImageDraw, ImageFont

font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")
width, height = font.getsize("Hello world")
left, top = font.getoffset("Hello world")

im = Image.new("RGB", (100, 100))
draw = ImageDraw.Draw(im)
width, height = draw.textsize("Hello world", font)

width, height = font.getsize_multiline("Hello\nworld")
width, height = draw.multiline_textsize("Hello\nworld", font)

代わりに使用する

from PIL import Image, ImageDraw, ImageFont

font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")
left, top, right, bottom = font.getbbox("Hello world")
width, height = right - left, bottom - top

im = Image.new("RGB", (100, 100))
draw = ImageDraw.Draw(im)
width = draw.textlength("Hello world", font)

left, top, right, bottom = draw.multiline_textbbox((0, 0), "Hello\nworld", font)
width, height = right - left, bottom - top

以前は、size メソッドはテキストの垂直方向のオフセットを含む height を返していましたが、新しい bbox メソッドはこれを top オフセットとして区別します。

In bbox methods, top measures the vertical distance above the text, while bottom measures that plus the vertical distance of the text itself. In size methods, height also measures the vertical distance above the text plus the vertical distance of the text itself.

これらのメソッドをテキストの配置に使用している場合は、代わりに テキストアンカー を使用することを検討してください。これにより、英語以外のテキストや特殊なフォントで発生する可能性のある問題を回避できます。たとえば、次のコードの代わりに

from PIL import Image, ImageDraw, ImageFont

font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")

im = Image.new("RGB", (100, 100))
draw = ImageDraw.Draw(im)
width, height = draw.textsize("Hello world", font)
x, y = (100 - width) / 2, (100 - height) / 2
draw.text((x, y), "Hello world", font=font)

代わりに使用する

from PIL import Image, ImageDraw, ImageFont

font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")

im = Image.new("RGB", (100, 100))
draw = ImageDraw.Draw(im)
draw.text((100 / 2, 100 / 2), "Hello world", font=font, anchor="mm")

FreeTypeFont.getmask2 fill パラメータ

バージョン 9.2.0 から非推奨。

バージョン 10.0.0 で削除されました。

FreeTypeFont.getmask2() の文書化されていない fill パラメータは削除されました。

PhotoImage.paste box パラメータ

バージョン 9.2.0 から非推奨。

バージョン 10.0.0 で削除されました。

box パラメータは使用されていなかったため、削除されました。

PyQt5 および PySide2

バージョン 9.2.0 から非推奨。

バージョン 10.0.0 で削除されました。

Qt 5 は、オープンソースユーザー向けに 2020 年 12 月 8 日に、(商用ライセンス保有者向けには 2023 年 12 月 8 日に)EOL に達しました。

ImageQtからのPyQt5およびPySide2のサポートは削除されました。代わりにPyQt6またはPySide6にアップグレードしてください。

Image.coerce_e

バージョン 9.2.0 から非推奨。

バージョン 10.0.0 で削除されました。

この未ドキュメント化のメソッドは削除されました。

PILLOW_VERSION定数

バージョン5.2.0から非推奨。

バージョン9.0.0で削除されました。

代わりに__version__を使用してください。

Pillow 7.0.0で最初に削除されましたが、プロジェクトのアップグレード時間を確保するために7.1.0で一時的に復活しました。

Image.showコマンドパラメータ

バージョン7.2.0から非推奨。

バージョン9.0.0で削除されました。

commandパラメータは削除されました。ImageShow.Viewerのサブクラスを代わりに使用してください。

Image._showxv

バージョン7.2.0から非推奨。

バージョン9.0.0で削除されました。

代わりにImage.Image.show()を使用してください。カスタム動作が必要な場合は、ImageShow.register()を使用してカスタムImageShow.Viewerクラスを追加してください。

ImageFile.raise_ioerror

バージョン7.2.0から非推奨。

バージョン9.0.0で削除されました。

Python 3.3ではIOErrorOSErrorに統合されました。そのため、ImageFile.raise_ioerrorは削除されました。代わりにImageFile.raise_oserrorを使用してください。

FreeType 2.7

バージョン8.1.0から非推奨。

バージョン9.0.0で削除されました。

FreeType 2.7のサポートは削除されました。

FreeType 2.6で導入された重大な脆弱性(CVE 2020-15999)を修正した、少なくともFreeType 2.10.4へのアップグレードをお勧めします。

im.offset

バージョン1.1.2から非推奨。

バージョン8.0.0で削除されました。

im.offset()は削除されました。ImageChops.offset()を代わりに呼び出してください。

PIL 1.1.2で非推奨として文書化され、1.1.5以降はDeprecationWarning、Pillow 3.0.0以降はException、3.3.0以降はNotImplementedErrorを発生させました。

Image.fromstring、im.fromstring、およびim.tostring

バージョン2.0.0から非推奨。

バージョン8.0.0で削除されました。

  • Image.fromstring()は削除されました。Image.frombytes()を代わりに呼び出してください。

  • im.fromstring()は削除されました。frombytes()を代わりに呼び出してください。

  • im.tostring()は削除されました。tobytes()を代わりに呼び出してください。

2.0.0以降はDeprecationWarning、3.0.0以降はException、3.3.0以降はNotImplementedErrorを発生させました。

ImageCms.CmsProfile属性

バージョン3.2.0から非推奨。

バージョン8.0.0で削除されました。

PIL.ImageCms.core.CmsProfileの一部の属性は削除されました。6.0.0からDeprecationWarningを発生させました。

削除済み

代わりに使用する

color_space

パディングされたxcolor_space

pcs

パディングされたconnection_space

product_copyright

Unicode copyright

product_desc

Unicode profile_description

product_description

Unicode profile_description

product_manufacturer

Unicode manufacturer

product_model

Unicode model

Python 2.7

バージョン6.0.0から非推奨。

バージョン7.0.0で削除されました。

Python 2.7は2020年1月1日にサポート終了となりました。Pillow 6.xはPython 2をサポートした最後のシリーズです。

Image.__del__

バージョン6.1.0から非推奨。

バージョン7.0.0で削除されました。

Image.__del__における画像の基礎となるファイルの暗黙的なクローズは削除されました。コンテキストマネージャーを使用するか、Image.close()を呼び出して、決定的な方法でファイルをクローズしてください。

以前の方法

im = Image.open("hopper.png")
im.save("out.jpg")

代わりに使用する

with Image.open("hopper.png") as im:
    im.save("out.jpg")

PIL.*ImagePlugin.__version__属性

バージョン6.0.0から非推奨。

バージョン7.0.0で削除されました。

個々のプラグインのバージョン定数は削除されました。代わりにPIL.__version__を使用してください。

削除済み

削除済み

削除済み

BmpImagePlugin.__version__

Jpeg2KImagePlugin.__version__

PngImagePlugin.__version__

CurImagePlugin.__version__

JpegImagePlugin.__version__

PpmImagePlugin.__version__

DcxImagePlugin.__version__

McIdasImagePlugin.__version__

PsdImagePlugin.__version__

EpsImagePlugin.__version__

MicImagePlugin.__version__

SgiImagePlugin.__version__

FliImagePlugin.__version__

MpegImagePlugin.__version__

SunImagePlugin.__version__

FpxImagePlugin.__version__

MpoImagePlugin.__version__

TgaImagePlugin.__version__

GdImageFile.__version__

MspImagePlugin.__version__

TiffImagePlugin.__version__

GifImagePlugin.__version__

PalmImagePlugin.__version__

WmfImagePlugin.__version__

IcoImagePlugin.__version__

PcdImagePlugin.__version__

XbmImagePlugin.__version__

ImImagePlugin.__version__

PcxImagePlugin.__version__

XpmImagePlugin.__version__

ImtImagePlugin.__version__

PdfImagePlugin.__version__

XVThumbImagePlugin.__version__

IptcImagePlugin.__version__

PixarImagePlugin.__version__

PyQt4とPySide

バージョン6.0.0から非推奨。

バージョン7.0.0で削除されました。

Qt 4は2015年12月19日にサポート終了となりました。そのPythonバインディングもEOLとなっています:PyQt4は2018年8月31日、PySideは2015年10月14日。

ImageQtからのPyQt4およびPySideのサポートは削除されました。PyQt5またはPySide2にアップグレードしてください。

TIFF画像のサイズ設定

バージョン5.3.0から非推奨。

バージョン7.0.0で削除されました。

TIFF画像のサイズを直接設定する(例:im.size = (256, 256))とエラーが発生します。代わりにImage.resizeを使用してください。

VERSION定数

バージョン5.2.0から非推奨。

バージョン6.0.0で削除されました。

VERSION(古いPILバージョン、常に1.1.7)は削除されました。代わりに__version__を使用してください。

未ドキュメント化のImageOps関数

バージョン4.3.0から非推奨。

バージョン6.0.0で削除されました。

ImageOpsのいくつかの未ドキュメント化関数は削除されました。代わりにImageFilterの同等のものを使用してください。

削除済み

代わりに使用する

ImageOps.box_blur

ImageFilter.BoxBlur

ImageOps.gaussian_blur

ImageFilter.GaussianBlur

ImageOps.gblur

ImageFilter.GaussianBlur

ImageOps.usm

ImageFilter.UnsharpMask

ImageOps.unsharp_mask

ImageFilter.UnsharpMask

PIL.OleFileIO

バージョン4.0.0から非推奨。

バージョン6.0.0で削除されました。

Pillow 4.0.0(2017年1月)で、アップストリームのolefile Pythonパッケージに置き換えられ、Pillow 5.0.0(2018年1月)でImportErrorに置き換えられました。非推奨のファイルはPillowから削除されました。必要な場合は、PyPIからインストールしてください(例:python3 -m pip install olefile)。

import _imaging

バージョン2.1.0で削除されました。

Pillow 2.1.0以降では、import _imagingはサポートされなくなりました。from PIL.Image import core as _imaging を代わりに使用してください。

PillowとPIL

バージョン1.0.0で削除されました。

PillowとPILは同じ環境で共存できません。Pillowをインストールする前に、PILをアンインストールしてください。

import Image

バージョン1.0.0で削除されました。

Pillow 1.0以降では、import Imageはサポートされなくなりました。from PIL import Imageを代わりに使用してください。