7.0.0#

向后不兼容的更改#

Python 2.7#

Pillow已经放弃了对Python2.7的支持,Python2.7在2020年1月1日达到了生命的尽头。

Pillow版本常数#

PILLOW_VERSION 已删除。使用 __version__ 相反。

pil.*imageplugin.u版本属性#

单个插件的版本常量已被删除。使用 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#

qt 4在2015-12-19达到了寿命终止。它的python绑定也是eol:pyqt4(自2018-08-31)和pyside(自2015-10-14)。

PyQt4和PySide的支持已从 ImageQt . 请升级到PyQt5或PySide2。

设置TIFF图像的大小#

直接设置TIFF图像的大小(例如。 im.size = (256, 256) )抛出错误。使用 Image.resize 相反。

默认重采样过滤器#

默认重采样滤波器已更改为高质量卷积 Image.BICUBIC 而不是 Image.NEAREST ,对于 resize() 方法与 pad()scale()fit() 功能。 Image.NEAREST 仍然始终用于“P”和“1”模式下的图像。见 过滤器 去了解差异。简而言之, Image.NEAREST 是一个非常快的过滤器,但简单和低质量。

Image.draft()返回值#

如果 draft() 方法无效,它返回 None . 如果它确实有效果,那么它以前返回图像本身。然而,不同于其他 chain methodsdraft() 不返回图像的已修改版本,但会就地修改。所以,如果 draft() 有一个效果,枕头现在将返回一个图像模式和一个坐标框的元组。框是结果图像边界中的原始坐标。这在随后的 resize() 打电话。

API添加#

自定义未识别图像错误#

枕头现在有一个习惯 UnidentifiedImageError 当无法识别图像时。为了向后兼容,这将继承自 OSError .

新论点 reducing_gap 对于Image.resize()和Image.thumbnail()方法#

通过分两步调整图像大小来加快调整大小的速度。更大的 reducing_gap ,结果越接近公平再采样。较小的 reducing_gap ,调整大小的速度越快。与 reducing_gap 大于或等于3.0时,结果与公平重采样不可区分。

的默认值 resize()None ,这意味着默认情况下禁用优化。

的默认值 thumbnail() 是2.0,这是非常接近公平的再采样,但在许多情况下仍然更快。此外,当 thumbnail() 电话 draft() ,这可能会大大提高JPEG缩略图的质量。因此, thumbnail() 在新版本中提供了同样的高速和高质量的任何来源(JPEG或任意图像)。

新的Image.reduce()方法#

reduce() 是将图像减少整数倍的高效操作。一般情况下,不应该直接使用。内部使用人 resize()thumbnail() 方法在新参数 reducing_gap 被设置。

在给定DPI加载WMF图像#

在Windows上,Pillow可以读取WMF文件,默认DPI为72。现在还可以以另一种分辨率加载图像::

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

其他变化#

Image.__del__#

在中隐式关闭图像的基础文件 Image.__del__ 已删除。使用上下文管理器或调用 close() 而是以确定的方式关闭文件。

前一种方法::

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

改用::

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

更好的缩略图几何结构#

在计算新尺寸时 thumbnail() ,舍入到最接近的整数,而不是始终舍入。这样可以更好地保留原始纵横比。

当图像的宽度或高度不能被8整除时,图像中的最后一行和最后一列在JPEG-DCT缩放后获得正确的权重。