向后不兼容的更改
python 3.4已删除
python 3.4自2019-03-16起即为EOL,不再受支持。我们将不会创建二进制文件、测试或保留与此版本的兼容性。python 3.4的Pillow的最终版本是5.4.1。
删除了不推荐使用的pil.olefileio
在Pillow 4.0.0(2017-01)中,PIL.OleFileIO作为供应商文件被删除,取而代之的是上游olefile Python包,并被替换为 ImportError
。不推荐使用的文件现在已从枕头中删除。如果需要,请从PyPI安装(例如 python3 -m pip install olefile
)。
删除了不推荐使用的ImageOps函数
在 ImageOps
已在 Pillow 4.3.0(2017-10)中弃用,现已移除: gaussian_blur
, gblur
, unsharp_mask
, usm
和 box_blur
. 使用中的等效操作 ImageFilter
相反。
已删除不推荐的版本
VERSION
(旧PIL版本,始终为1.1.7)已删除。使用 __version__
相反。
API更改
贬抑
Python 2.7
python 2.7在2020-01-01达到了生命终结。
Pillow7.0.0将于2020-01-01发布,并将放弃对python 2.7的支持,使Pillow6.x成为支持python 2的最后一个系列。
Pyqt4和Pyside
qt 4在2015-12-19达到了寿命终止。它的python绑定也是eol:pyqt4(自2018-08-31)和pyside(自2015-10-14)。
对pyqt4和pyside的支持已从弃用 ImageQt
将在将来的版本中删除。请升级到pyqt5或pyside2。
pil.*imageplugin.u版本属性
这些版本常量已被弃用,将在将来的版本中删除。
-
BmpImagePlugin.__version__
-
CurImagePlugin.__version__
-
DcxImagePlugin.__version__
-
EpsImagePlugin.__version__
-
FliImagePlugin.__version__
-
FpxImagePlugin.__version__
-
GdImageFile.__version__
-
GifImagePlugin.__version__
-
IcoImagePlugin.__version__
-
ImImagePlugin.__version__
-
ImtImagePlugin.__version__
-
IptcImagePlugin.__version__
-
Jpeg2KImagePlugin.__version__
-
JpegImagePlugin.__version__
-
McIdasImagePlugin.__version__
-
MicImagePlugin.__version__
-
MpegImagePlugin.__version__
-
MpoImagePlugin.__version__
-
MspImagePlugin.__version__
-
PalmImagePlugin.__version__
-
PcdImagePlugin.__version__
-
PcxImagePlugin.__version__
-
PdfImagePlugin.__version__
-
PixarImagePlugin.__version__
-
PngImagePlugin.__version__
-
PpmImagePlugin.__version__
-
PsdImagePlugin.__version__
-
SgiImagePlugin.__version__
-
SunImagePlugin.__version__
-
TgaImagePlugin.__version__
-
TiffImagePlugin.__version__
-
WmfImagePlugin.__version__
-
XbmImagePlugin.__version__
-
XpmImagePlugin.__version__
-
XVThumbImagePlugin.__version__
使用 PIL.__version__
相反。
imagecms.cmsprofile属性
中的一些属性 ImageCms.CmsProfile
从枕头3.2.0开始就被弃用了。从6.0.0开始,他们发布了 DeprecationWarning
:
已弃用 |
代替使用 |
---|---|
|
加垫的 |
|
加垫的 |
|
统一码 |
|
统一码 |
|
统一码 |
|
统一码 |
|
统一码 |
MIME类型改进
以前,所有JPEG2000图像都具有mime类型“image/jpx”。现在已经纠正了。加载文件格式驱动程序后, Image.MIME["JPEG2000"]
将返回“image/jp2”。 ImageFile.get_format_mimetype
如果存在JPX配置文件,将返回“image/jpx”,否则返回“image/jp2”。
以前,所有SGI图像都具有mime类型“image/rgb”。现在已经纠正了。加载文件格式驱动程序后, Image.MIME["SGI"]
将返回“image/sgi”。 ImageFile.get_format_mimetype
如果存在RGB图像数据,将返回“image/rgb”,否则返回“image/sgi”。
mime类型已添加到PPM格式。加载文件格式驱动程序后, Image.MIME["PPM"]
现在将返回通用的“image/x-portable-anymap”。 ImageFile.get_format_mimetype
将返回特定于颜色类型的mime类型。
TGA、PCX和ICO格式现在也分别具有mime类型:“image/x-tga”、“image/x-pcx”和“image/x-icon”。
API添加
DIB文件格式
Pillow现在支持读写设备独立的位图文件格式。
Image.quantize
这个 dither
选项现在是一个可自定义参数(以前硬编码到 1
)此参数采用的值与 convert()
.
新语言参数
这些文本呈现函数现在接受 language
从字体请求特定于语言的glyph和连字的参数:
-
ImageDraw.ImageDraw.multiline_text()
-
ImageDraw.ImageDraw.multiline_textsize()
-
ImageDraw.ImageDraw.text()
-
ImageDraw.ImageDraw.textsize()
-
ImageFont.ImageFont.getmask()
-
ImageFont.ImageFont.getsize_multiline()
-
ImageFont.ImageFont.getsize()
添加了exif类
getexif()
已添加,返回 Exif
实例。可以像字典一样检索和设置值。保存jpeg、png或webp时,实例可以作为 exif
参数来包含输出图像中的任何更改。
添加了imageops.exif_转置
exif_transpose()
返回图像的副本,并根据其exif方向标记进行转置。
PNG exif数据
现在可以读取exif数据并将其保存到png图像中。但是,与其他图像格式不同的是,exif数据不能保证存在于 info
直到 load()
已被调用。
其他变化
读取新的DDS图像格式
Pillow现在可以从DDS图像中读取未压缩的RGB数据。
使用旧式JPEG压缩读取TIFF
增加了通过libtiff读取具有旧式jpeg压缩的tiff文件的支持。所有YCBCR TIFF图像现在都始终读取为RGB。
TIFF压缩编解码器
增加了对lzma、zsd和webp tiff压缩编解码器的支持。
改进了对转置i的支持;16张图像
i;16,i;16l和i;16b现在支持所有图像模式 transpose()
操作。
讨论区