Commit Graph

282 Commits

Author SHA1 Message Date
Hugo van Kemenade
0f7ed2d35f
Merge pull request #4435 from radarhere/close_images
Close exclusively opened images
2020-03-06 00:27:46 +02:00
Hugo van Kemenade
64a9e0c660
Merge branch 'master' into apng 2020-02-29 17:40:17 +02:00
Andrew Murray
04f7c75466 Use context manager when opening images [ci skip] 2020-02-29 10:29:44 +11:00
Peter Rowlands
9b72f0513c Adjust is_animated behavior
- Make is_animated APNG behavior consistent with other Pillow formats
- is_animated will be true when n_frames is greater than 1 (for APNG
  this depends on animation frame count + presence or absence of a
  default image)
2020-02-23 15:14:06 +11:00
Peter Rowlands
dcc3f41fa1 Add release notes 2020-02-23 15:14:06 +11:00
Peter Rowlands
3a254701f6 Cleanup documentation
- Add changes requested by hugovk
2020-02-23 15:14:06 +11:00
Peter Rowlands (변기호)
0b536fb599 fix documentation review issue
[ci skip]

Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-02-23 15:14:06 +11:00
Peter Rowlands
916b2e1b74 Document APNG support 2020-02-23 15:14:06 +11:00
Andrew Murray
a8c0794107 Allow saving of zero quality JPEG images 2020-02-21 22:05:44 +11:00
Andrew Murray
8e7010d9ae Changed example plugin to work in Python 3 [ci skip] 2020-02-09 15:34:14 +11:00
Andrew Murray
db970acfa5 Grammar fix [ci skip] 2020-02-06 20:10:34 +11:00
Andrew Murray
1f58028173 Use BytesIO instead of StringIO [ci skip] 2020-01-21 23:21:57 +11:00
Andrew Murray
feec1bbcb2 Updated WMF documentation [ci skip] 2019-12-30 10:12:37 +11:00
Hugo
7b4ae104f0 Fix malformed table 2019-12-16 15:07:56 +02:00
Hugo
cc63f66575 Merge remote-tracking branch 'upstream/master' into rm-2.7 2019-11-01 13:22:56 +02:00
Jon Dufresne
4cd4adddc3 Improve handling of file resources
Follow Python's file object semantics. User code is responsible for
closing resources (usually through a context manager) in a deterministic
way.

To achieve this, remove __del__ functions. These functions used to
closed open file handlers in an attempt to silence Python
ResourceWarnings. However, using __del__ has the following drawbacks:

- __del__ isn't called until the object's reference count reaches 0.
  Therefore, resource handlers remain open or in use longer than
  necessary.

- The __del__ method isn't guaranteed to execute on system exit. See the
  Python documentation:

  https://docs.python.org/3/reference/datamodel.html#object.__del__

  > It is not guaranteed that __del__() methods are called for objects
  > that still exist when the interpreter exits.

- Exceptions that occur inside __del__ are ignored instead of raised.
  This has the potential of hiding bugs. This is also in the Python
  documentation:

  > Warning: Due to the precarious circumstances under which __del__()
  > methods are invoked, exceptions that occur during their execution
  > are ignored, and a warning is printed to sys.stderr instead.

Instead, always close resource handlers when they are no longer in use.
This will close the file handler at a specified point in the user's code
and not wait until the interpreter chooses to. It is always guaranteed
to run. And, if an exception occurs while closing the file handler, the
bug will not be ignored.

Now, when code receives a ResourceWarning, it will highlight an area
that is mishandling resources. It should not simply be silenced, but
fixed by closing resources with a context manager.

All warnings that were emitted during tests have been cleaned up. To
enable warnings, I passed the `-Wa` CLI option to Python. This exposed
some mishandling of resources in ImageFile.__init__() and
SpiderImagePlugin.loadImageSeries(), they too were fixed.
2019-10-12 08:27:17 -07:00
Andrew Murray
4140cd807b
Merge branch 'master' into rm-2.7 2019-10-12 18:03:58 +11:00
Andrew Murray
a8c07e3d5f Added orientation note [ci skip] 2019-10-11 22:40:31 +11:00
Hugo
0caa48b179 Remove redundant __future__ from docs
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:26:11 +03:00
Andrew Murray
ecb3a30487 Clarified documentation [ci skip] 2019-10-06 13:52:58 +11:00
Hugo
f792ab6c02 RST uses double backticks for code (MD uses 1) 2019-09-13 08:56:33 +03:00
Andrew Murray
5ad5be4a32 Reference Pillow not PIL [ci skip] 2019-09-06 06:13:12 +10:00
Andrew Murray
51457311de
Reference Pillow not PIL [ci skip]
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-09-06 06:10:40 +10:00
Andrew Murray
2a7ad14172 Added more limited support modes [ci skip] 2019-09-05 20:10:43 +10:00
Andrew Murray
0527efd593 Corrected documentation of TIFF saving arguments [ci skip] 2019-08-07 19:53:35 +10:00
Oliver Tonnhofer
2b7d8be536 tiff: add support for JPEG quality
Uses JPEGQUALITY pseudo-tag from libtiff.

Also changes the way tags are passed to PyImaging_LibTiffEncoderNew from
dict to list to ensure that COMPRESSION tag is added before JPEGQUALITY.
This is required as the COMPRESSION tag registers the JPEGQUALITY
pseudo-tag.
2019-06-26 06:33:54 +10:00
Oliver Tonnhofer
61add9d6b0 Improve encoding of TIFF tags
- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).
2019-06-26 06:33:19 +10:00
Andrew Murray
0a73e31415 Added note about RGBX padding 2019-06-21 19:37:43 +10:00
Andrew Murray
231fe4d62a Revert "Merge pull request #3838 from radarhere/i_conversion"
This reverts commit 41f3e7c8bd, reversing
changes made to 2f84482871.
2019-06-11 19:28:31 +10:00
Hugo
41f3e7c8bd
Merge pull request #3838 from radarhere/i_conversion
Improved I mode conversion
2019-06-05 22:23:35 +03:00
Andrew Murray
e1df2118b3 Link method [ci skip] 2019-06-02 13:34:18 +10:00
Andrew Murray
a258b8dcdc
Apply suggestions from code review [ci skip]
Co-Authored-By: Hugo <hugovk@users.noreply.github.com>
2019-05-09 19:05:06 +10:00
Andrew Murray
64eff66ee7 Updated pixel range documentation [ci skip] 2019-05-09 14:32:14 +10:00
Andrew Murray
f9f235ac2e Corrected use of function [ci skip] 2019-05-06 08:40:32 +10:00
Andrew Murray
38df9bef09 Added import [ci skip] 2019-05-06 08:38:43 +10:00
Andrew Murray
1d67bf0539 Document pixel range [ci skip] 2019-05-04 16:11:16 +10:00
Andrew Murray
d31de47768 Added release notes [ci skip] 2019-04-01 21:16:52 +11:00
Andrew Murray
9699ac40c7 n_frames is not an info key [ci skip] 2019-03-31 12:44:39 +11:00
Andrew Murray
7a845ee2e7 Corrected seek documentation [ci skip] 2019-03-31 12:43:09 +11:00
Andrew Kuchling
7ca0c189e3 Various documentation fixes [ci skip]
* TIFF: describe num_frames and seek()/tell()
* Link methods to PIL.Image class instead of the Python file object
* It doesn't seem like the Spider plug-in actually has an 'nimages' attribute
* Fix markup for exception name
2019-03-31 12:14:53 +11:00
Andrew Murray
4a5666f1f4 Added transparency for all PNG greyscale modes 2019-03-27 07:41:33 +11:00
Andrew Murray
fa8ecffff2 Corrected seek documentation 2019-03-17 00:00:10 +11:00
Andrew Murray
0ad09f7386
Merge branch 'master' into mime-types 2019-03-15 07:06:59 +11:00
Andrew Murray
ebdb1ffc54 Added PNM to the list of PPM files [ci skip] 2019-03-14 08:35:27 +11:00
Andrew Murray
f06056cc1f Updated PNG modes [ci skip] 2019-03-12 21:10:59 +11:00
Andrew Murray
8ddcc1de52 Load EXIF from PNG where eXIf chunk is after first IDAT chunk 2019-03-11 21:20:18 +11:00
Hugo
5da0d5beee
Merge pull request #3673 from radarhere/dds
Add reading of DDS uncompressed RGB data
2019-03-11 12:04:47 +02:00
Andrew Murray
2764031762 Changed PIL references to Pillow [ci skip] 2019-03-08 21:04:23 +11:00
Andrew Murray
1c1bad3186 Document the DIB image format [ci skip] 2019-03-08 21:04:01 +11:00
Andrew Murray
148d320b40 Added reading of uncompressed RGB data 2019-02-23 06:44:06 +11:00
Andrew Murray
828a6f947c Fixed typo [ci skip] 2019-02-12 20:35:23 +11:00
Andrew Murray
95d80a7e5d Corrected data type [ci skip] 2018-12-24 17:05:38 +11:00
Andrew Murray
cea6ecfdbb Updated example decoders [ci skip] 2018-09-30 14:07:55 +10:00
Hugo
e2deb07608
Merge pull request #3274 from radarhere/pdf
Improve PDF document info
2018-09-29 17:43:05 +03:00
Andrew Murray
bd600c6966 Crop is no longer lazy [ci skip] 2018-09-29 15:31:10 +10:00
Andrew Murray
6072e2e595 Changed note to be more generic [ci skip] 2018-09-29 15:12:48 +10:00
Andrew Murray
f4fd517373 Removed blank line after heading for consistency [ci skip] 2018-09-05 21:05:09 +10:00
Andrew Murray
d86fa316ca Fixed typo [ci skip] 2018-09-05 21:02:32 +10:00
Andrew Murray
fc57658635 Added PDF creation and modification date info 2018-08-25 00:58:49 +10:00
Andrew Murray
af817c83ad Corrected links for Read The Docs [ci skip] 2018-08-23 21:07:25 +10:00
Andrew Murray
de7b43397a Added links to installation documentation [ci skip] 2018-08-23 20:36:05 +10:00
Andrew Murray
a91cb4b24a Improved GIF documentation [ci skip] 2018-08-04 22:35:48 +10:00
Hugo
a2c6a5a38e Update CHANGES, image-file-formats and release notes [CI skip] 2018-07-01 22:24:35 +03:00
Hugo
80d399a485
Merge pull request #3178 from danpla/tga-la
TGA: Read and write LA data
2018-07-01 21:57:10 +03:00
Alex Clark
eafbb395a9
Merge pull request #1817 from radarhere/gd
Added GD tests
2018-06-30 18:01:36 -04:00
Andrew Murray
7274636a7e Added coordinate system links in documentation 2018-06-24 14:34:01 +10:00
Andrew Murray
6b224bed34 Updated documentation [ci skip] 2018-06-16 22:29:34 +10:00
Daniel Plakhotich
39fae6e077 TGA: Read and write LA data 2018-06-14 12:18:08 +03:00
wiredfool
219c31b34d
Merge pull request #3064 from wiredfool/release_notes
Release notes for 5.1.0
2018-04-02 11:21:58 +01:00
Eric Soroos
d74e71537e typo 2018-04-02 10:21:02 +00:00
Eric Soroos
6bae24034e Release notes for 5.1.0 2018-04-02 09:59:13 +00:00
Andrew Murray
08a8a25290 Added documentation for ICNS append_images [ci skip] 2018-03-21 21:11:39 +11:00
Dvořák Václav
9be8d669f9 issue #2959: changes based on @hugovk's review 2018-01-31 00:25:04 +01:00
Dvořák Václav
bc01bb6aae issue #2959: update documentation 2018-01-25 00:22:03 +01:00
Andrew Murray
454ffe4a01 Changed tutorial code to use docstring [ci skip] 2018-01-12 20:46:16 +11:00
Hugo
8018f7b290 4.4.0 -> 5.0.0 2017-12-30 20:34:55 +02:00
wiredfool
49bd3232e5
Merge pull request #2899 from wiredfool/pr_2882
Run all compressed tiffs through libtiff
2017-12-27 20:39:51 +00:00
wiredfool
ff13d184d8
Merge pull request #2902 from wiredfool/pr_2388
Add disposal option when saving GIFs
2017-12-27 12:15:00 +00:00
wiredfool
f3ff2b4420 docs for per-frame disposal [ci skip] 2017-12-21 22:30:31 +00:00
linnil1
5a902bf8a2 Add dispoal description in documents 2017-12-21 22:06:59 +00:00
Eric Soroos
27bc13df7b typos 2017-12-20 12:34:42 +00:00
Eric Soroos
c816932f4b Docs for libtiff read w/compression change 2017-12-20 12:30:39 +00:00
Eric Soroos
03150c2410 docs for new info items 2017-12-20 11:50:13 +00:00
wiredfool
a3a9faf3a2
Merge pull request #2761 from monolithlabs/animated_webp
Add support for animated WebP files
2017-11-05 15:34:50 +00:00
Jason Douglas
28bec69e98 - flake8 formatting fixes
- webp => WebP doc and comment changes
2017-10-01 15:23:18 -07:00
Andrew Murray
7f1e83aa39 Corrected documentation 2017-09-28 21:03:15 +10:00
Jason Douglas
c18d26b04b - Conditonally compile animation support, only if the mux.h and demux.h headers meet the ABI version requirements
- Add WEBPMUX support back to WebPDecode_wrapper (to support older versions of libwebp that have mux support, but not animation)
- Add HAVE_WEBPANIM flag, and use it appropriately
- Update documentation / tests
2017-09-27 19:04:24 -07:00
Jason Douglas
6e4766155d Add support for writing animated webp files 2017-09-25 18:53:31 -07:00
Hugo
2aee124fb5 Fix docs to match code
Code was fixed in https://github.com/python-pillow/Pillow/pull/2267 but not the docs.
2017-09-05 13:43:34 +03:00
Alexander
4d56db3a34 Fix wrong formula for subsampling=2 while JPEG saving 2017-08-27 20:03:36 +03:00
Andrew Murray
e24aaa60a2 Improved append_images documentation [ci skip] 2017-07-01 21:34:41 +10:00
wiredfool
8323ab1149 Merge pull request #2447 from hugovk/test-mic
Test MicImagePlugin for correctness
2017-06-13 22:20:44 +01:00
hugovk
5d00979dd4 Note that there may be an embedded gamma of 2.2 in MIC files 2017-06-13 23:08:46 +03:00
Andrew Murray
1df8ac22fd Changed wording [ci skip] 2017-05-29 19:42:06 +10:00
Andrew Murray
5eabd731f0 Changed tutorial code to use with for opening files [ci skip] 2017-05-29 19:41:48 +10:00
Andrew Murray
cafc311943 Added import statements to make examples self-contained [ci skip] 2017-05-29 19:41:30 +10:00
Andrew Murray
424a09ecad Updated references to point to existing files [ci skip] 2017-05-06 23:20:34 +10:00
wiredfool
c9f54c98a5 Merge pull request #1938 from wiredfool/python-decoder
Pure Python Decoders - fix for MSP decoding
2017-03-12 17:20:19 +00:00
wiredfool
38f43c1e5f review lint 2017-03-11 13:50:19 +00:00
wiredfool
c2cd5fe3d1 handles_eof was removed in 4.0 2017-03-11 13:50:19 +00:00