Alexander
b85c610a03
Use box for reduce
2019-12-20 14:54:06 +03:00
Alexander
b112e55070
Merge branch 'master' into box-in-thumbnail
...
# Conflicts:
# docs/releasenotes/7.0.0.rst
2019-12-19 16:36:37 +03:00
Alexander Karpinsky
6d75a673b6
Merge pull request #4255 from uploadcare/default-resample-filter
...
Change default resize resampling filter from NEAREST to BICUBIC
2019-12-19 16:33:34 +03:00
Alexander Karpinsky
c82d2629d7
Merge pull request #4278 from uploadcare/fox-filter-black-lines
...
Define box filter equal 1.0 on (-0.5, 0.5] range instead of [-0.5, 0.5)
2019-12-19 03:26:17 +03:00
Alexander
5b53b0489b
Define box filter equal 1.0 on (-0.5, 0.5] range instead of [-0.5, 0.5)
2019-12-19 03:01:02 +03:00
Alexander
cdd1253211
notes fixes
...
skip-checks: true
2019-12-18 01:09:54 +03:00
Alexander
4da9858709
change default resampling filter for ImageOps.pad(), ImageOps.scale() and ImageOps.fit()
2019-12-17 18:15:02 +03:00
Alexander
fa9e85cd1f
max_reduce arguments in resize and thumbnail
2019-12-17 03:01:51 +03:00
Alexander
2db5406626
Merge branch 'box-in-thumbnail' into reduce-in-resize-2
2019-12-17 02:27:44 +03:00
Alexander
ea9c6e9fe1
Merge branch 'master' into reduce
2019-12-17 02:26:05 +03:00
Alexander
a027897f74
Merge branch 'master' into box-in-thumbnail
...
# Conflicts:
# Tests/test_image_thumbnail.py
2019-12-17 00:42:29 +03:00
Andrew Murray
c7bef264bc
Allow thumbnail to accept non-integer size arguments
2019-12-17 06:05:36 +11:00
Alexander
791d1a2846
Better thumbnail aspect ratio preservation
2019-12-07 20:07:27 +03:00
Alexander
ac92836e81
Change default resize resampling filter
2019-12-07 18:08:19 +03:00
Alexander
e54b9b3720
turn on ImagingReduce5x5 special case
2019-12-05 22:13:25 +03:00
Alexander
5283141417
Merge branch 'master' into reduce
2019-12-05 14:23:28 +03:00
Alexander
5838d77c0e
args test
2019-12-05 03:24:38 +03:00
Alexander
b23625172f
add box parameter to all optimized versions
2019-12-05 00:47:15 +03:00
Alexander
778b5f9fed
add box parameter
2019-12-04 23:13:20 +03:00
Alexander
cc30b1e55a
Add La mode packing and unpacking
2019-12-04 22:58:09 +03:00
Alexander
a4a6a9e83a
Add La mode packing and unpacking
2019-12-04 22:47:15 +03:00
Alexander
d92c58fa7f
I mode support
2019-12-01 22:52:43 +03:00
Alexander
a576b14056
F mode support
2019-12-01 22:28:16 +03:00
Alexander Karpinsky
d970a39840
Special cases:
...
ImagingReduce1x2, ImagingReduce1x3, ImagingReduce2x1, ImagingReduce3x1
2019-12-01 21:41:15 +03:00
Alexander
1d1f3be27a
unsupported modes
2019-12-01 20:34:05 +03:00
Alexander
008c1c88e2
L mode support
2019-12-01 20:33:48 +03:00
Alexander
f72d5c0dfd
better branches
2019-12-01 14:38:21 +03:00
Andrew Murray
2d7cfc4bbc
Merge pull request #4239 from radarhere/photoshop
...
Handle broken Photoshop data
2019-12-01 07:33:26 +11:00
Alexander
4e092153fc
add release notes
2019-11-30 18:17:10 +03:00
Andrew Murray
08cad40002
Merge pull request #4181 from pwohlhart/patch-1
...
Better error messaging in PIL.Image.fromarray
2019-11-30 21:12:05 +11:00
Andrew Murray
47b2ae9a63
Raise a specific exception if no data is found for an MPO frame
2019-11-30 11:05:36 +11:00
Andrew Murray
e51be50549
Handle broken Photoshop data
2019-11-30 10:08:32 +11:00
Alexander
8b6ad4a471
tests for supported modes
2019-11-26 03:39:57 +03:00
Alexander
7e978ae542
ImagingReduceCorners
2019-11-26 02:45:13 +03:00
Alexander
fba833e1f4
final set of special cases
2019-11-26 01:18:48 +03:00
Alexander
e6c305511e
more special
2019-11-25 05:16:03 +03:00
Alexander
ab25d9f4b5
good balance
2019-11-25 04:20:31 +03:00
Alexander
01094a9649
naive implementation
2019-11-24 17:40:05 +03:00
Alexander
335f5431de
dummy method
2019-11-24 17:39:49 +03:00
Alexander
e234445682
linter fixes
2019-11-24 15:32:45 +03:00
Hugo van Kemenade
8626762024
Merge pull request #4174 from mixmastamyk/patch-1
...
Fix mismatched function name, add explanation
2019-11-24 13:54:22 +02:00
Hugo van Kemenade
37be3b0dda
Merge pull request #4145 from nulano/ucs4-pypy
...
Fix Unicode support for PyPy
2019-11-24 13:51:27 +02:00
Alexander
fd21de7dc4
Merge branch 'refs/heads/master' into box-in-thumbnail
...
# Conflicts:
# Tests/test_image_thumbnail.py
2019-11-24 05:27:13 +03:00
Alexander
375556ffb5
use a box from draft in thumbnail
2019-11-24 05:24:00 +03:00
Alexander
4126f6cdf7
return chosen image mode and the box of the image
2019-11-24 04:55:49 +03:00
Alexander
2d1482b400
minor fixes related to draft
2019-11-24 04:33:34 +03:00
Andrew Murray
e773980961
Updated URL [ci skip]
2019-11-22 10:12:52 +11:00
nulano
64317f8885
raqm now works with PyPy on Windows
2019-11-20 17:02:44 +00:00
nulano
837d8ae984
fix support for extended unicode characters in PyPy
2019-11-20 17:02:44 +00:00
Hugo van Kemenade
a949d7882e
Merge branch 'master' into rm-2.7
2019-11-20 10:26:55 +02:00
Andrew Murray
40f891dfd7
Added UnidentifiedImageError
2019-11-19 21:20:02 +11:00
Hugo
e5486b40f8
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-18 13:56:42 +02:00
Andrew Murray
29c0a2fa6e
Merge pull request #4197 from hugovk/rm-plugins-__version__
...
Remove deprecated __version__ from plugins
2019-11-18 22:07:54 +11:00
Hugo van Kemenade
f81c829e04
Update word order
...
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2019-11-18 12:07:02 +02:00
Hugo
12a725988e
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-16 17:10:10 +02:00
Hugo van Kemenade
3134e5cd47
Merge pull request #4105 from radarhere/ifd
...
IFDRational init cleanup
2019-11-13 20:30:35 +02:00
Hugo van Kemenade
b64d96d414
Merge pull request #4116 from radarhere/memory
...
Fixed freeing unallocated pointer when resizing with height too large
2019-11-13 20:29:09 +02:00
Hugo van Kemenade
54e57768ab
Merge pull request #4128 from radarhere/info
...
Copy info in Image.transform
2019-11-13 20:27:51 +02:00
Hugo van Kemenade
ce18064b20
Merge pull request #4171 from radarhere/gamma
...
Corrected DdsImagePlugin setting info gamma
2019-11-13 20:26:03 +02:00
Hugo
0c5895470c
Remove deprecated __version__ from plugins
2019-11-05 17:01:03 +02:00
Hugo van Kemenade
24b8501d4b
Remove handling for pre-3.3 wide/narrow builds
2019-11-04 00:32:33 +02:00
Hugo van Kemenade
5006401d0b
Merge branch 'master' into rm-2.7
2019-11-03 22:48:26 +02:00
Jon Dufresne
4483642e45
Reuse deferred_error instead of _imaging_not_installed
...
deferred_error is a general implementation of _imaging_not_installed.
Can reuse rather than repeating the same logic.
2019-11-03 08:29:17 -08:00
Hugo
58e6d127b7
In Python 3, 'next' is renamed to '__next__'
2019-11-03 16:02:08 +02:00
Hugo van Kemenade
6060ed3d14
Merge pull request #4091 from nulano/libimagequant-features
...
Add libimagequant to features.py
2019-11-02 21:31:09 +02:00
Hugo
6f88d8dd6b
black --target-version py35
2019-11-02 20:02:07 +02:00
Andrew Murray
b0eb5e18b1
Merge pull request #4160 from cgohlke/patch-1
...
Fix segfault: do not destroy glyph while its bitmap is used
2019-11-02 13:32:33 +11:00
Hugo
cc63f66575
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-01 13:22:56 +02:00
Andrew Murray
a2225ae961
Employ same condition used to set glyph
2019-11-01 21:34:38 +11:00
Hugo van Kemenade
2cf510e596
Improve handling of file resources ( #3577 )
...
Improve handling of file resources
2019-11-01 12:07:53 +02:00
Andrew Murray
b65fcb280a
Copy info in transform
2019-10-30 22:14:01 +11:00
Andrew Murray
d716278d20
Corrected DdsImagePlugin setting info gamma
2019-10-30 22:13:06 +11:00
Andrew Murray
887a7e503c
Only assign once
2019-10-30 22:10:38 +11:00
Andrew Murray
290189596e
Removed redundant return
2019-10-30 22:10:38 +11:00
Andrew Murray
511aed922a
Fixed freeing unallocated pointer when resizing with height too large
2019-10-30 22:09:28 +11:00
Andrew Murray
9b20276c45
Allow for arr KeyError
2019-10-30 07:23:08 +11:00
pwohlhart
47691906df
Better error messaging in PIL.image.fromarray
2019-10-29 10:12:03 -07:00
Andrew Murray
d9845c14c8
Lint fixes
2019-10-29 22:42:34 +11:00
Bei Pang
f53b86b673
Removed TypeError exception check in JpegImagePlugin; Updated comments in test
2019-10-28 09:48:37 -07:00
mixmastamyk
204803917c
Fix mismatched name, add explanation.
...
Mention why this information is not available in the EXIF tag specified for this purpose.
2019-10-27 23:36:33 -07:00
Bei Pang
a2b0269167
Added comment to ValueError
2019-10-27 07:50:30 +11:00
Bei Pang
bcc766e02d
Use default DPI when exif provides invalid x_resolution
2019-10-27 07:50:30 +11:00
Hugo van Kemenade
40133cfc74
Merge branch 'master' into rm-2.7
2019-10-26 09:07:44 +03:00
Jon Dufresne
cae17eb927
Use more Pythonic super() instead of referencing parent class
...
https://rhettinger.wordpress.com/2011/05/26/super-considered-super/
2019-10-22 06:54:58 -07:00
Christoph Gohlke
2694564d08
Do not destroy glyph while its bitmap is used
2019-10-21 14:47:51 -07:00
Hugo
3dac6e2c62
Replace ImageShow.which() with stdlib
...
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-12 21:40:11 +03: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
nulano
accbe58b5e
add Python version to selftest, rename brief parameter
2019-10-12 15:40:12 +01:00
Hugo
3e24c5fea4
Replace isStringType(t) with isinstance(t, str)
...
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:26:52 +03:00
Hugo
e118de943d
Remove redundant __ne__ method
...
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:26:36 +03:00
Hugo
3a34081db5
Simplify temporary directory cleanup
...
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:55 +03:00
Hugo
84e53e3757
Simplify using subprocess.DEVNULL
...
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:42 +03:00
Andrew Murray
6cd99fc3cf
Merge branch 'master' into rm-2.7
2019-10-08 18:57:27 +11:00
Jon Dufresne
64032061c0
Move several imports to the top-level of the file
...
This better follows PEP 8 style guide:
https://www.python.org/dev/peps/pep-0008/#imports
> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.
This also avoids duplicate import code within the same file.
2019-10-07 06:28:36 -07:00
Hugo
4382413bb4
Remove redundant bytearray
2019-10-07 16:23:43 +03:00
Hugo
865b17d5cf
Remove Python 2-compatibility code
2019-10-07 16:23:22 +03:00
Andrew Murray
7e3156eb17
Updated IFDRational operators
2019-10-07 14:30:59 +03:00
Hugo
538d9e2e5d
Upgrade Python syntax with pyupgrade --py3-plus
2019-10-07 14:30:59 +03:00
Hugo
af770a6c55
Drop support for EOL Python 2.7
2019-10-07 14:30:59 +03:00
Andrew Murray
732eb7223f
Merge branch 'master' into rm-deprecated-qt
2019-10-06 13:35:38 +11:00