Pillow/docs/releasenotes/5.3.0.rst

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

69 lines
2.5 KiB
ReStructuredText
Raw Normal View History

5.3.0
-----
API Changes
===========
Image size
^^^^^^^^^^
If you attempt to set the size of an image directly, e.g.
2023-11-01 21:18:25 +03:00
``im.size = (100, 100)``, you will now receive an :py:exc:`AttributeError`. This is
not about removing existing functionality, but instead about raising an
explicit error to prevent later consequences. The ``resize`` method is the
correct way to change an image's size.
The exceptions to this are:
* The ICO and ICNS image formats, which use ``im.size = (100, 100)`` to select a subimage.
2023-11-01 21:18:25 +03:00
* The TIFF image format, which now has a :py:exc:`DeprecationWarning` for this action,
as direct image size setting was previously necessary to work around an issue with tile extents.
API Additions
=============
Added line width parameter to rectangle and ellipse-based shapes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2018-09-29 16:52:07 +03:00
An optional line ``width`` parameter has been added to ``ImageDraw.Draw.arc``,
``chord``, ``ellipse``, ``pieslice`` and ``rectangle``.
Curved joints for line sequences
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``ImageDraw.Draw.line`` draws a line, or lines, between points. Previously,
when multiple points are given, for a larger ``width``, the joints between
these lines looked unsightly. There is now an additional optional argument,
2020-07-10 00:50:57 +03:00
``joint``, defaulting to :data:`None`. When it is set to ``curved``, the joints
between the lines will become rounded.
ImageOps.colorize
^^^^^^^^^^^^^^^^^
2018-07-11 23:05:08 +03:00
Previously ``ImageOps.colorize`` only supported two-color mapping with
``black`` and ``white`` arguments being mapped to 0 and 255 respectively.
Now it supports three-color mapping with the optional ``mid`` parameter, and
the positions for all three color arguments can each be optionally specified
(``blackpoint``, ``whitepoint`` and ``midpoint``).
For example, with all optional arguments::
ImageOps.colorize(im, black=(32, 37, 79), white='white', mid=(59, 101, 175),
blackpoint=15, whitepoint=240, midpoint=100)
ImageOps.pad
^^^^^^^^^^^^
While ``ImageOps.fit`` allows users to crop images to a requested aspect ratio
and size, new method ``ImageOps.pad`` pads images to fill a requested aspect
ratio and size, filling new space with a provided ``color`` and positioning the
image within the new area through a ``centering`` argument.
Other Changes
=============
Added support for reading tiled TIFF images through LibTIFF. Compressed TIFF
images are now read through LibTIFF.
RGB WebP images are now read as RGB mode, rather than RGBX.