Merge pull request #2750 from wiredfool/docs

Install/Release notes update
This commit is contained in:
wiredfool 2017-09-20 13:58:23 +01:00 committed by GitHub
commit 180342400a
4 changed files with 101 additions and 60 deletions

View File

@ -72,8 +72,7 @@ class ContainerIO(object):
"""
Read data.
@def read(bytes=0)
:param bytes: Number of bytes to read. If omitted or zero,
:param n: Number of bytes to read. If omitted or zero,
read until end of region.
:returns: An 8-bit string.
"""

View File

@ -767,7 +767,7 @@ def getdata(im, offset=(0, 0), **params):
:param im: Image object
:param offset: Tuple of (x, y) pixels. Defaults to (0,0)
:param **params: E.g. duration or other encoder info parameters
:param \**params: E.g. duration or other encoder info parameters
:returns: List of Bytes containing gif encoded frame data
"""

View File

@ -32,12 +32,6 @@ Install Pillow with :command:`pip`::
$ pip install Pillow
Or use :command:`easy_install` for installing `Python Eggs
<http://peak.telecommunity.com/DevCenter/PythonEggs>`_ as
:command:`pip` does not support them::
$ easy_install Pillow
Windows Installation
^^^^^^^^^^^^^^^^^^^^
@ -49,10 +43,6 @@ libraries included::
> pip install Pillow
or::
> easy_install Pillow
macOS Installation
^^^^^^^^^^^^^^^^^^
@ -339,6 +329,20 @@ Prerequisites are installed on **Fedora 23** with::
$ sudo dnf install libtiff-devel libjpeg-devel zlib-devel freetype-devel \
lcms2-devel libwebp-devel tcl-devel tk-devel libraqm-devel
See also the ``Dockerfile``\s in the Test Infrastructure repo
(https://github.com/python-pillow/docker-images) for a known working
install process for other tested distros.
Building on Android
^^^^^^^^^^^^^^^^^^^
Basic Android support has been added for compilation within the Termux
environment. The dependencies can be installed by::
$ pkg -y install python python-dev ndk-sysroot clang make \
libjpeg-turbo-dev
This has been tested within the Termux app on ChromeOS, on x86.
Platform Support
@ -348,8 +352,7 @@ Current platform support for Pillow. Binary distributions are
contributed for each release on a volunteer basis, but the source
should compile and run everywhere platform support is listed. In
general, we aim to support all current versions of Linux, macOS, and
Windows. Note that Android is not currently supported, but there have
been reports of success.
Windows.
Continuous Integration Targets
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -369,6 +372,10 @@ These platforms are built and tested for every change.
+----------------------------------+-------------------------------+-----------------------+
| Debian Stretch | 2.7 |x86 |
+----------------------------------+-------------------------------+-----------------------+
| Fedora 24 | 2.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Fedora 26 | 2.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Mac OS X 10.10 Yosemite* | 2.7, 3.3, 3.4, 3.5, 3.6 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Ubuntu Linux 16.04 LTS | 2.7 |x86-64 |
@ -380,7 +387,9 @@ These platforms are built and tested for every change.
+----------------------------------+-------------------------------+-----------------------+
| Ubuntu Linux 12.04 LTS | 2.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Windows Server 2012 R2 | 2.7,3.3,3.4,pypy |x86, x86-64 |
| Windows Server 2012 R2 | 2.7,3.3,3.4 |x86, x86-64 |
| | | |
| | pypy, 3.5/mingw |x86 |
+----------------------------------+-------------------------------+-----------------------+
\* Mac OS X CI is not run for every commit, but is run for every release.

View File

@ -1,53 +1,19 @@
4.3.0
-----
Get One Channel From Image
==========================
New method :py:meth:`PIL.Image.Image.getchannel` is added.
It returns single channel by index or name. For example,
``image.getchannel("A")`` will return alpha channel as separate image.
``getchannel`` should work up to 6 times faster than ``image.split()[0]``
in previous Pillow versions.
Box Blur
========
New filter :py:class:`PIL.ImageFilter.BoxBlur` is added.
Partial Resampling
==================
Added new argument ``box`` for :py:meth:`PIL.Image.Image.resize`. This
argument defines a source rectangle from within the source image to be
resized. This is very similar to the ``image.crop(box).resize(size)``
sequence except that ``box`` can be specified with subpixel accuracy.
Loading 16-bit TIFF Images
==========================
Pillow now can read 16-bit multichannel TIFF files including files
with alpha transparency. The image data is truncated to 8-bit
precision.
Performance
API Changes
===========
This release contains several performance improvements:
* Many memory bandwidth-bounded operations such as crop, image allocation,
conversion, split into bands and merging from bands are up to 2x faster.
* Upscaling of multichannel images (such as RGB) is accelerated by 5-10%
* JPEG loading is accelerated up to 15% and JPEG saving up to 20% when
using a recent version of libjpeg-turbo.
Deprecations
^^^^^^^^^^^^
Several undocumented functions in ImageOps have been deprecated:
``gaussian_blur``, ``gblur``, ``unsharp_mask``, ``usm`` and
``box_blur``. Use the equivalent operations in ImageFilter
instead. These functions will be removed in a future release.
TIFF Metadata Changes
=====================
^^^^^^^^^^^^^^^^^^^^^
* TIFF tags with unknown type/quantity now default to being bare
values if they are 1 element, where previously they would be a
@ -61,9 +27,8 @@ TIFF Metadata Changes
items, as there can be multiple items, one for UTF-8, and one for
UTF-16.
Core Image API Changes
======================
^^^^^^^^^^^^^^^^^^^^^^
These are internal functions that should not have been used by user
code, but they were accessible from the python layer.
@ -74,3 +39,71 @@ identified the format of the clipboard data.
The ``PIL.Image.core.copy`` and ``PIL.Image.Image.im.copy2`` methods
have been removed.
API Additions
=============
Get One Channel From Image
^^^^^^^^^^^^^^^^^^^^^^^^^^
A new method :py:meth:`PIL.Image.Image.getchannel` has been added to
return a single channel by index or name. For example,
``image.getchannel("A")`` will return alpha channel as separate image.
``getchannel`` should work up to 6 times faster than
``image.split()[0]`` in previous Pillow versions.
Box Blur
^^^^^^^^
A new filter, :py:class:`PIL.ImageFilter.BoxBlur`, has been
added. This is a filter with similar results to a Gaussian blur, but
is much faster.
Partial Resampling
^^^^^^^^^^^^^^^^^^
Added new argument ``box`` for :py:meth:`PIL.Image.Image.resize`. This
argument defines a source rectangle from within the source image to be
resized. This is very similar to the ``image.crop(box).resize(size)``
sequence except that ``box`` can be specified with subpixel accuracy.
New Transpose Operation
^^^^^^^^^^^^^^^^^^^^^^^
The ``Image.TRANSVERSE`` operation has been added to
:py:meth:`PIL.Image.Image.transpose`. This is equivalent to a transpose
operation about the opposite diagonal.
Multiband Filters
^^^^^^^^^^^^^^^^^
There is a new :py:class:`PIL.ImageFilter.MultibandFilter` base class
for image filters that can run on all channels of an image in one
operation. The original :py:class:`PIL.ImageFilter.Filter` class
remains for image filters that can process only single band images, or
require splitting of channels prior to filtering.
Loading 16-bit TIFF Images
==========================
Pillow now can read 16-bit multichannel TIFF files including files
with alpha transparency. The image data is truncated to 8-bit
precision.
Performance
===========
This release contains several performance improvements:
* Many memory bandwidth-bounded operations such as crop, image allocation,
conversion, split into bands and merging from bands are up to 2x faster.
* Upscaling of multichannel images (such as RGB) is accelerated by 5-10%
* JPEG loading is accelerated up to 15% and JPEG saving up to 20% when
using a recent version of libjpeg-turbo.
* ``Image.transpose`` has been accelerated 15% or more by using a cache
friendly algorithm.
* ImageFilters based on Kernel convolution are significantly faster
due to the new MultibandFilter feature.