mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-02-10 16:40:51 +03:00
130 lines
4.7 KiB
ReStructuredText
130 lines
4.7 KiB
ReStructuredText
7.0.0
|
|
-----
|
|
|
|
Backwards Incompatible Changes
|
|
==============================
|
|
|
|
PILLOW_VERSION constant
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
``PILLOW_VERSION`` has been removed. Use ``__version__`` instead.
|
|
|
|
PIL.*ImagePlugin.__version__ attributes
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The version constants of individual plugins have been removed. Use ``PIL.__version__``
|
|
instead.
|
|
|
|
=============================== ================================= ==================================
|
|
Removed Removed Removed
|
|
=============================== ================================= ==================================
|
|
``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 and PySide
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
Qt 4 reached end-of-life on 2015-12-19. Its Python bindings are also EOL: PyQt4 since
|
|
2018-08-31 and PySide since 2015-10-14.
|
|
|
|
Support for PyQt4 and PySide has been removed from ``ImageQt``. Please upgrade to PyQt5
|
|
or PySide2.
|
|
|
|
Setting the size of TIFF images
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Setting the size of a TIFF image directly (eg. ``im.size = (256, 256)``) throws
|
|
an error. Use ``Image.resize`` instead.
|
|
|
|
Default resampling filter
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The default resampling filter has been changed to the high-quality convolution
|
|
``Image.BICUBIC`` instead of ``Image.NEAREST``, for the :py:meth:`~PIL.Image.Image.resize`
|
|
method and the :py:meth:`~PIL.ImageOps.pad`, :py:meth:`~PIL.ImageOps.scale`
|
|
and :py:meth:`~PIL.ImageOps.fit` functions.
|
|
``Image.NEAREST`` is still always used for images in "P" and "1" modes.
|
|
See :ref:`concept-filters` to learn the difference. In short,
|
|
``Image.NEAREST`` is a very fast filter, but simple and low-quality.
|
|
|
|
Image.draft() return value
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
If the :py:meth:`~PIL.Image.Image.draft` method has no effect, it returns ``None``.
|
|
If it does have an effect, then it previously returned the image itself.
|
|
However, unlike other `chain methods`_, :py:meth:`~PIL.Image.Image.draft` does not
|
|
return a modified version of the image, but modifies it in-place. So instead, if
|
|
:py:meth:`~PIL.Image.Image.draft` has an effect, Pillow will now return a tuple
|
|
of the image mode and a co-ordinate box. The box is the original coordinates in the
|
|
bounds of resulting image. This may be useful in a subsequent
|
|
:py:meth:`~PIL.Image.Image.resize` call.
|
|
|
|
.. _chain methods: https://en.wikipedia.org/wiki/Method_chaining
|
|
|
|
|
|
API Changes
|
|
===========
|
|
|
|
Deprecations
|
|
^^^^^^^^^^^^
|
|
|
|
TODO
|
|
~~~~
|
|
|
|
TODO
|
|
|
|
|
|
API Additions
|
|
=============
|
|
|
|
Custom unidentified image error
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Pillow will now throw a custom ``UnidentifiedImageError`` when an image cannot be
|
|
identified. For backwards compatibility, this will inherit from ``IOError``.
|
|
|
|
Other Changes
|
|
=============
|
|
|
|
Image.__del__
|
|
^^^^^^^^^^^^^
|
|
|
|
Implicitly closing the image's underlying file in ``Image.__del__`` has been removed.
|
|
Use a context manager or call :py:meth:`~PIL.Image.Image.close` instead to close
|
|
the file in a deterministic way.
|
|
|
|
Previous method:
|
|
|
|
.. code-block:: python
|
|
|
|
im = Image.open("hopper.png")
|
|
im.save("out.jpg")
|
|
|
|
Use instead:
|
|
|
|
.. code-block:: python
|
|
|
|
with Image.open("hopper.png") as im:
|
|
im.save("out.jpg")
|
|
|
|
Better thumbnail geometry
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
When calculating the new dimensions in :py:meth:`~PIL.Image.Image.thumbnail`,
|
|
round to the nearest integer, instead of always rounding down.
|
|
This better preserves the original aspect ratio.
|
|
|
|
When the image width or height is not divisible by 8 the last row and column
|
|
in the image get the correct weight after JPEG DCT scaling.
|