已删除不推荐使用的项
已删除几个不推荐使用的项。
-
已删除“x分辨率”、“y分辨率”、“分辨率单位”和“日期时间”参数中对tiff kwargs中空格的支持。应改为使用下划线。
-
方法
PIL.ImageDraw.ImageDraw.setink
,PIL.ImageDraw.ImageDraw.setfill
和PIL.ImageDraw.ImageDraw.setfont
已被删除。
打开图像时关闭文件
打开图像时的文件处理已大修。以前,在加载图像数据后,Pillow会尝试关闭一些但不是所有的图像格式。现在,指定了以下行为:
-
对于传递打开文件的图像,调用代码负责关闭该文件。
-
对于Pillow打开文件且已知文件只有一个帧的图像,文件在加载后关闭。
-
如果文件有多个帧,或者无法确定,则文件将保持打开状态以允许查找后续帧。它最终将在
close
或__del__
方法。 -
如果图像是内存映射的,那么在完成图像处理之前,我们无法关闭到底层文件的映射。映射将在
close
或__del__
方法。
保存时对GIF处理的更改
这个 PIL.GifImagePlugin
在保存图像时,代码已被重构以修复流。由此产生了两个外部变化:
-
安
PIL.ImagePalette.ImagePalette
对象现在被接受为中的指定调色板参数PIL.Image.Image.save()
. -
要保存的图像不再被保存功能的任何操作就地修改。以前它是在优化图像调色板时修改的。
这个重构修复了保存多个帧gif时调色板处理的一些错误。
新方法:image.remap_调色板
方法 PIL.Image.Image.remap_palette()
已添加。该方法是从用于优化调色板的gifimageplugin代码中提升出来的。
添加了解码器注册表并支持基于python的解码器
现在有一个解码器注册表类似于图像插件注册表。图像插件可以注册一个解码器,并在请求解码时调用它。这允许创建纯Python解码器。虽然Python解码器的速度不如基于C的解码器快,但它们可能更容易、更快地开发或更安全地运行。
测验
已经添加了许多测试,包括以前未测试过的图像格式的正确性测试。
我们现在在Docker容器中针对比Travis CI(目前为Ubuntu 14.04 x64)提供的Linux版本更多的版本运行自动化测试。这个Pillow释放测试64位阿尔卑斯,拱门,Ubuntu12.04和16.04,32位Debian伸展和Ubuntu14.04。这也涵盖了比本地Travis提供的更广泛的依赖性版本。
讨论区