Jon Dufresne
bd71374cd2
Limit try block to code expected to raise an exception
...
In the off chance that the additional code in decoder()/encoder() raise
a KeyError or AttributeError, a bug could be hidden.
2020-01-26 07:10:22 -08:00
Jon Dufresne
63729766c4
Remove unnecessary coerce to float
...
In Python 3, the division operator is floating point division. No longer
need to coerce integers to floating point numbers before division.
2020-01-26 06:33:18 -08:00
Andrew Murray
e7ce609889
Release buffer if function returns prematurely
2020-01-26 13:22:45 +11:00
Andrew Murray
6a7ac38c6c
extents are not used by map_buffer
2020-01-26 13:22:23 +11:00
Alexander
dcd0cd9129
update dict instead of ignoring
2020-01-19 14:53:46 +03:00
Alexander
f55eb73934
handle Photoshop chunks which can't be processed
2020-01-19 03:37:43 +03:00
Alexander
3841c96ec6
Cleanup code a bit
2020-01-19 03:15:37 +03:00
Andrew Murray
d24e4f44c1
Fixed typo
2020-01-09 20:00:32 +11:00
Andrew Murray
56f30ef792
Allow explicit zero width to hide outline
2020-01-08 21:55:15 +11:00
Andrew Murray
8e8f63d4a5
Only draw each polygon pixel once
2020-01-05 17:43:51 +11:00
Andrew Murray
46b4caa8e3
7.1.0.dev0 version bump
2020-01-02 20:45:59 +11:00
Andrew Murray
37b1974d30
7.0.0 version bump
2020-01-02 15:33:48 +11:00
Andrew Murray
b9c68540dc
Overflow checks for realloc for tiff decoding
2020-01-02 15:24:46 +11:00
Andrew Murray
be44f0d992
Catch SGI buffer overruns
2020-01-02 15:24:36 +11:00
Andrew Murray
8f0c8f7311
Catch PCX P mode buffer overrun
2020-01-02 15:24:16 +11:00
Andrew Murray
c40bc25847
Catch FLI buffer overrun
2020-01-02 15:23:36 +11:00
Andrew Murray
138bd714f5
Raise an error for an invalid number of bands in FPX image
2020-01-02 15:20:24 +11:00
Andrew Murray
4203845a24
Merge pull request #4320 from uploadcare/rgb2l-rounding-error
...
Fix rounding error on RGB to L conversion
2020-01-01 20:09:34 +11:00
Andrew Murray
e8bb2dd93e
Allow string comment when saving GIF
2020-01-01 13:29:39 +11:00
Alexander
038f9daf27
bring ImageColor.getcolor into line with Convert.c implementation
2019-12-31 16:56:09 +03:00
Andrew Murray
8924054dd9
Changed _limit_signed_rational
2019-12-31 19:12:33 +11:00
Alexander
fa1deca144
Fix wrong tests
2019-12-31 04:12:50 +03:00
Andrew Murray
74d53bcd15
Lint fixes
2019-12-31 11:58:39 +11:00
Andrew Murray
6d3fb7b083
Merge branch 'master' into exif-writing-fixes
2019-12-31 11:38:33 +11:00
Alexander
d68147ce89
Fix rounding error on RGB to L conversion
2019-12-31 03:35:47 +03:00
Andrew Murray
f72e866b5e
Merge pull request #4305 from radarhere/remove_distutils
...
Replaced distutils with C version check
2019-12-31 11:33:39 +11:00
Andrew Murray
f77c409742
Renamed variable
2019-12-31 09:04:25 +11:00
Alexander
c74c20eb9f
Merge branch 'master' into reduce-in-resize
...
# Conflicts:
# docs/releasenotes/7.0.0.rst
2019-12-30 03:24:38 +03:00
Alexander
34029e9af4
texts fixes
2019-12-30 03:23:30 +03:00
Andrew Murray
82356f7f36
Removed _libtiff_version
2019-12-28 12:57:13 +11:00
Andrew Murray
61d0784933
Allow loading of WMF images at a given DPI
2019-12-28 11:25:39 +11:00
Andrew Murray
34d04d3e82
Replaced distutils with C version check
2019-12-28 09:57:49 +11:00
Alexander
1bd9b16e97
wording
2019-12-27 15:35:17 +03:00
Alexander
222c2f6978
Merge branch 'master' into reduce-in-resize
2019-12-27 15:13:19 +03:00
Alexander Karpinsky
5f69035865
Merge pull request #4251 from uploadcare/reduce
...
Reduce operation
2019-12-27 15:11:47 +03:00
Alexander
fc0248869c
wording
2019-12-27 14:27:37 +03:00
Andrew Murray
e446b58317
Lint fix
2019-12-26 20:21:16 +11:00
Andrew Murray
996f552f32
Highlight class name
...
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-12-26 19:55:10 +11:00
Andrew Murray
c99257abb4
Updated error string
...
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-12-26 19:54:28 +11:00
Andrew Murray
fedb0407b4
Raise ValueError for io.StringIO in Image.open
2019-12-26 18:53:06 +11:00
Andrew Murray
ca0209d194
Updated exception documentation [ci skip]
2019-12-26 13:16:49 +11:00
Hugo van Kemenade
0fe6955da5
Removed duplicate line ( #4291 )
...
Removed duplicate line
2019-12-25 14:55:25 +02:00
Alexander
d719aafecb
Merge branch 'reduce' into reduce-in-resize
...
# Conflicts:
# docs/releasenotes/7.0.0.rst
2019-12-25 15:45:17 +03:00
Alexander
dda5558129
Merge branch 'master' into reduce
2019-12-25 15:42:47 +03:00
Alexander Karpinsky
b5d06baa5f
Merge pull request #4231 from uploadcare/box-in-thumbnail
...
Fix thumbnail geometry when DCT scaling is used
2019-12-25 15:41:40 +03:00
Andrew Murray
ee30fe1b39
Merge pull request #4147 from beipang2/issue_4146
...
Use default DPI when exif provides invalid x_resolution
2019-12-25 20:26:27 +11:00
Andrew Murray
1740a1f20e
Ensure tempfile is unlinked
2019-12-25 15:22:54 +11:00
Andrew Murray
c35fb6fb67
Merge branch 'master' into box-in-thumbnail
2019-12-24 18:18:34 +11:00
Andrew Murray
74a8034644
Updated draft documentation [ci skip]
2019-12-24 14:50:53 +11:00
Andrew Murray
6480d57c1f
Removed duplicate line
2019-12-24 08:33:04 +11:00
Hugo
6a43ea86ea
Merge remote-tracking branch 'upstream/master' into doctest-turn-warnings-into-errors
2019-12-21 15:52:59 +02:00
Hugo
113477fbee
Fix unexpected unindents
2019-12-21 14:05:50 +02:00
Alexander
59f8eeb290
add release notes
2019-12-21 03:16:42 +03:00
Andrew Murray
4580b156b7
Raise an error if BMP file size is too large when saving
2019-12-21 08:37:40 +11:00
Andrew Murray
ce62dca326
Aligned comments correctly
2019-12-21 08:15:48 +11:00
Alexander
fc28182040
fix formatting
2019-12-20 20:42:00 +03:00
Alexander
8181aed77f
Merge branch 'reduce' into reduce-in-resize
...
# Conflicts:
# docs/releasenotes/7.0.0.rst
# src/PIL/Image.py
2019-12-20 20:27:11 +03:00
Alexander
d41f2713b6
Merge branch 'master' into reduce
2019-12-20 20:22:36 +03:00
Alexander
b48996c213
rename max_reduce to reducing_gap
2019-12-20 14:59:18 +03:00
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
Andrew Murray
6a83d5b239
Merge pull request #4114 from radarhere/tiff_size
...
Removed deprecated setting of TIFF image sizes
2019-10-05 02:33:08 +10:00
Hugo van Kemenade
0a8f029971
Merge pull request #4113 from radarhere/version
...
Removed outdated VERSION comment
2019-10-03 22:56:12 +03:00
Hugo van Kemenade
d479572158
Changed condition to use DEBUG as a boolean ( #4112 )
...
Changed condition to use DEBUG as a boolean
2019-10-03 15:38:46 +03:00
Andrew Murray
d6ae0a99a7
Removed deprecated setting of TIFF image sizes
2019-10-03 22:12:28 +10:00
Hugo van Kemenade
7821b34924
Merge branch 'master' into rm-deprecated-qt
2019-10-03 14:14:00 +03:00
Andrew Murray
3cd7d9e4a2
Removed outdated VERSION comment
2019-10-03 20:54:55 +10:00
Andrew Murray
f61af2fed0
Merge pull request #4107 from hugovk/rm-deprecated-PILLOW_VERSION
...
Remove deprecated PILLOW_VERSION
2019-10-03 20:52:48 +10:00
Andrew Murray
1e6eac40fc
Changed condition to use DEBUG as a boolean
2019-10-03 20:23:49 +10:00
Andrew Murray
f92f429317
Merge pull request #1730 from radarhere/frombuffer_args
...
Changed default frombuffer raw decoder args
2019-10-02 19:25:46 +10:00
Andrew Murray
91306dfac5
Merge pull request #4009 from radarhere/tifftags
...
Corrected tag types
2019-10-02 19:18:56 +10:00
Andrew Murray
94a64ea09c
7.0.0.dev0 version bump
2019-10-02 06:42:14 +10:00
Hugo
f898ccbaf8
Remove deprecated PILLOW_VERSION
2019-10-01 14:43:15 +03:00
Andrew Murray
75602d12e1
6.2.0 version bump
2019-10-01 19:23:32 +10:00
Hugo
f0a87e25a4
Drop support for EOL PyQt4 and PySide
2019-09-30 17:58:31 +03:00
Andrew Murray
cc16025e23
Merge pull request #4104 from radarhere/overrun
...
Catch buffer overruns
2019-09-30 23:33:28 +10:00
Andrew Murray
fb8470187a
Merge pull request #4034 from cgohlke/patch-1
...
Initialize rows_per_strip when RowsPerStrip tag is missing
2019-09-30 22:32:34 +10:00
Andrew Murray
b9693a51c9
Merge pull request #4103 from radarhere/dimension
...
Raise error if TIFF dimension is a string
2019-09-30 21:26:53 +10:00
Andrew Murray
f228d0ccbf
Merge pull request #4102 from radarhere/decompression
...
Added decompression bomb checks
2019-09-30 20:31:05 +10:00
Andrew Murray
aaf2c42156
Merge pull request #4000 from nulano/dpi_fix
...
Fix Screengrab DPI scaling on Windows 10 version 1607+
2019-09-30 19:50:46 +10:00
Andrew Murray
9a977b975c
Raise error if dimension is a string
2019-09-30 18:48:10 +10:00
Andrew Murray
ab52630d06
Catch buffer overruns
2019-09-30 18:45:43 +10:00
Andrew Murray
eed2bfc5b4
Added decompression bomb checks
2019-09-30 18:45:13 +10:00
Andrew Murray
87c43b66a5
Corrected negative seeks
2019-09-30 18:31:18 +10:00
Hugo van Kemenade
d3ae7a1c46
Merge pull request #4088 from radarhere/fit
...
Do not calculate the crop width in Image.fit if it is already known
2019-09-29 12:57:29 +03:00
Andrew Murray
1809f46e0b
Do not calculate the crop width if it is already known
2019-09-29 14:26:32 +10:00
nulano
17d9938ece
spider labrec ceil
2019-09-27 22:10:49 +02:00
nulano
ee5c134b33
Merge branch 'master' into dpi_fix
2019-09-27 09:11:01 +02:00
Hugo van Kemenade
310d2c9005
Add option to capture all monitors on Windows ( #3950 )
...
Add option to capture all monitors on Windows
2019-09-27 08:47:55 +03:00
nulano
5f4c1e113c
add libimagequant to features.py
2019-09-27 00:34:45 +02:00
Andrew Murray
2f5e24da48
Removed warning
2019-09-25 18:52:53 +10:00
Andrew Murray
8f91eff078
Changed default frombuffer raw decoder args
2019-09-25 18:52:07 +10:00
Andrew Murray
595a8fd33c
Updated warning to specify time of change
2019-09-24 20:33:02 +10:00
Hugo van Kemenade
20b6a8a57b
Merge pull request #4080 from radarhere/imageshow
...
Changed WindowsViewer format to PNG
2019-09-22 09:13:15 +03:00
Andrew Murray
f9236a11ce
Do not seek if the file pointer is about to be closed
2019-09-21 21:54:39 +10:00
Andrew Murray
82f4a0d8f2
Changed WindowsViewer format to PNG
2019-09-21 09:11:32 +10:00
Hugo van Kemenade
f5aed1a254
Merge branch 'master' into patch-1
2019-09-20 22:59:29 +03:00
Hugo van Kemenade
736b8436e7
Use TIFF orientation ( #4063 )
...
Use TIFF orientation
2019-09-20 22:57:58 +03:00
Hugo van Kemenade
8e3c4e3658
Merge pull request #3965 from radarhere/truncated
...
Raise the same error if a truncated image is loaded a second time
2019-09-20 22:53:52 +03:00
nulano
6a2d8f8da0
rename parameter, add note to docs
2019-09-20 17:35:08 +02:00
Andrew Murray
0009646a41
Corrected comment [ci skip]
2019-09-16 21:06:13 +10:00
Andrew Murray
1b70a4c6b5
Use TIFF orientation
2019-09-13 22:36:26 +10:00
Hugo van Kemenade
e5f6b86413
Merge pull request #4031 from radarhere/exif
...
Lazily use ImageFileDirectory_v1 values from Exif
2019-09-09 20:16:24 +03:00
Andrew Murray
ef16cb8efe
ImageFileDirectory_v1 does not raise KeyError
2019-09-07 18:31:23 +10:00
Andrew Murray
14859ce506
Merge pull request #4004 from radarhere/hsv
...
Improved HSV conversion
2019-09-07 00:50:34 +10:00
Andrew Murray
76e5bd0f0f
Added brackets
2019-09-06 20:07:23 +10:00
Andrew Murray
58d2814ab5
Corrected tag types
2019-09-06 19:33:57 +10:00
Andrew Murray
da39d40342
Merge pull request #3978 from radarhere/stroke
...
Added text stroking
2019-09-06 19:14:49 +10:00
Hugo van Kemenade
97f6fc96f2
Merge pull request #4047 from radarhere/modes
...
Documented more limited support modes
2019-09-05 23:20:24 +03:00
Andrew Murray
e790a4066a
Renamed method
...
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-09-06 06:18:48 +10:00
Hugo van Kemenade
cb1ebc024b
Merge pull request #4017 from radarhere/floodfill
...
Do not allow floodfill to extend into negative coordinates
2019-09-05 23:00:33 +03:00
Hugo van Kemenade
bd2d7cb247
Merge pull request #4014 from radarhere/arc
...
Fixed arc drawing bug for a non-whole number of degrees
2019-09-05 22:52:05 +03:00
Hugo van Kemenade
572a93c86f
Corrected tag counts ( #4033 )
...
Corrected tag counts
2019-09-05 22:41:16 +03:00
Andrew Murray
dea75d1210
Corrected comment
2019-09-05 20:11:02 +10:00
Hugo van Kemenade
e980d023db
Merge pull request #3969 from radarhere/encoding
...
Documented more encoding values
2019-09-04 16:51:13 +03:00
Hugo van Kemenade
3f9d00e4c2
Merge pull request #3967 from radarhere/error
...
Return after error
2019-09-04 16:07:22 +03:00
Konstantin Kopachev
06e34db10b
Merge remote-tracking branch 'upstream/master' into exif-writing-fixes
...
# Conflicts:
# Tests/test_file_tiff_metadata.py
2019-08-29 09:20:09 -07:00
Andrew Murray
ddcfd259cf
Corrected short and long range checks
2019-08-29 19:36:46 +10:00
Andrew Murray
24d29bd11d
Merge pull request #4003 from djy0/master
...
Fix bug when merging identical images to GIF with a list of durations
2019-08-25 12:52:41 +10:00
Andrew Murray
2dbfabe6d5
Simplifications
2019-08-24 08:10:45 +10:00
Andrew Murray
d96f657328
Merge pull request #3998 from chadawagner/master
...
Fix bug in TIFF loading of BufferedReader
2019-08-23 06:25:30 +10:00
Andrew Murray
f3ed44a566
Changed the Image getexif method to return a shared Exif instance
2019-08-23 06:13:20 +10:00
Christoph Gohlke
b37f12a5f8
Initialize rows_per_strip when RowsPerStrip tag is missing
2019-08-20 16:07:07 -07:00
Andrew Murray
4834157658
Documented OS support for saved files [ci skip]
2019-08-20 20:42:58 +10:00
Andrew Murray
7a16ef16e7
Added IptcNaaInfo tag to v2
2019-08-19 21:12:24 +10:00
Andrew Murray
f08a0966a0
Corrected tag counts
2019-08-19 21:12:16 +10:00
Andrew Murray
0b405c86be
Lazily use ImageFileDirectory_v1 values from Exif
2019-08-18 23:03:43 +10:00
Andrew Murray
19426417ff
Reverted unrelated change
2019-08-17 20:38:54 +10:00
Andrew Murray
75fe92fa88
Updated documentation [ci skip]
2019-08-16 19:16:06 +10:00
Andrew Murray
108512eae2
Cleaned up strings
2019-08-15 20:41:48 +10:00
nulano
fa6b80fddf
add option to capture all monitors on Windows
2019-08-15 20:03:33 +10:00
Andrew Murray
86c64aafd2
Formatted text [ci skip]
2019-08-12 20:43:32 +10:00
Andrew Murray
eb0a61a47e
Simplified text [ci skip]
...
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-08-12 20:42:27 +10:00
Andrew Murray
b307fb4808
Noted a Windows limit on opening fonts [ci skip]
2019-08-12 20:19:49 +10:00
Andrew Murray
8fb437d37f
Improved ImageFont documentation [ci skip]
2019-08-12 20:04:18 +10:00
Andrew Murray
524933aa1d
Lint fixes
2019-08-12 19:43:35 +10:00
Konstantin Kopachev
1b626f4d22
Fix RATIONAL and SRATIONAL boundaries when writing IFDs
2019-08-12 19:43:35 +10:00
chadawagner
597ca79b1b
rewind before decode, consistent with other cases
2019-08-12 18:56:34 +10:00
chadawagner
88be36c27a
check prior fp result, do not use if False
2019-08-12 18:56:34 +10:00
djy0
dc9c0dbfbe
format
2019-08-12 18:54:29 +10:00
djy0
3499f50e52
format
2019-08-12 18:54:29 +10:00
djy0
fcaf27d51c
Update GifImagePlugin.py
2019-08-12 18:54:29 +10:00
Andrew Murray
d46f81afba
Windows Screengrab DPI fix improvements ( #2 )
...
* Load User32 after possible return
* Removed unused setting of variable
2019-08-12 18:51:52 +10:00
nulano
cacbdc680c
override Win10 dpi scaling in screengrab
...
(cherry picked from commit 45ead62d6431c8339613e8ced85b705c80a7fdc9)
2019-08-12 18:51:52 +10:00
Andrew Murray
23872c0645
Do not allow floodfill to extend into negative coordinates
2019-08-12 06:51:16 +10:00
Andrew Murray
8fff9a2444
Fixed arc drawing bug for a non-whole number of degrees
2019-08-12 06:50:58 +10:00
Andrew Murray
27d6fc7bc5
Improved HSV conversion
2019-08-12 06:50:18 +10:00
Andrew Murray
f93a5d0972
Added text stroking
2019-07-29 06:40:03 +10:00
Andrew Murray
dfed1424d1
Improved ImageFont documentation
2019-07-25 20:04:45 +10:00
Andrew Murray
e2ee2a30a5
Corrected tag type
2019-07-24 19:57:28 +10:00
Andrew Murray
66ad3cb461
Changed overflow check to use PY_SSIZE_T_MAX
2019-07-17 07:07:26 +10:00
Hugo van Kemenade
1ab5670eb1
Introduce isort to automate import ordering and formatting ( #3954 )
...
Introduce isort to automate import ordering and formatting
2019-07-16 23:02:31 +03:00
Andrew Murray
c76369ce87
Explain that encoding does not alter text
2019-07-16 19:28:54 +10:00
Andrew Murray
0427170db5
Documented more encoding values
2019-07-15 19:04:35 +10:00
Andrew Murray
2995fb67c1
Return after error
2019-07-13 13:50:13 +10:00
Andrew Murray
023dcf27c2
Raise the same error if a truncated image is loaded a second time
2019-07-13 08:37:17 +10:00
Jon Dufresne
d50445ff30
Introduce isort to automate import ordering and formatting
...
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.
Uses the configuration recommended by the Black to avoid conflicts of
style.
Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Andrew Murray
13224bf029
Removed unused argument
2019-07-04 20:07:33 +10:00
Hugo
50693f8e59
Added explicit braces ( #3937 )
...
Added explicit braces
2019-07-03 15:05:15 +03:00
Hugo
292b4d038c
6.2.0.dev0 version bump
2019-07-03 08:49:24 +03:00
nulano
86d4c53d79
revert #3780 for PyPy as it hasn't been updated
2019-07-02 08:52:15 +02:00
Rolf Eike Beer
0e0afd4acf
fix bad loop increments in p2i() and p2f()
...
Fixes: 7a4af2b767
2019-07-01 20:25:52 +02:00
Andrew Murray
8fd1ed9b73
Added explicit braces
2019-07-01 22:07:45 +10:00
Hugo
c5578b7fd7
6.1.0 version bump
2019-07-01 14:17:21 +03:00
Oliver Tonnhofer
edeb8d69af
Merge branch 'master' into tiff-jpeg-quality
2019-07-01 11:00:06 +02:00
Hugo
555e305a60
Merge pull request #3225 from DerDakon/unaligned-access
...
Use explicit memcpy() to avoid unaligned memory accesses
2019-07-01 08:22:18 +03:00
Oliver Tonnhofer
2af4026201
Improve encoding of TIFF tags ( #3861 )
...
* 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).
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2019-06-30 21:48:19 +03:00
Hugo
8d4bb339a6
Merge pull request #3780 from nulano/update_py_unicode
...
Update Py_UNICODE to Py_UCS4
2019-06-30 13:21:46 +03:00
Hugo
12695b8ca3
Merge pull request #3899 from radarhere/pixelsize
...
Consider I;16 pixel size when drawing
2019-06-30 13:18:46 +03:00
Andrew Murray
c994b783ec
Merge branch 'master' into tiff-jpeg-quality
2019-06-30 14:03:09 +10:00
Christoph Gohlke
a70da8112d
Add TIFFTAG_SAMPLEFORMAT to blocklist
...
The SAMPLEFORMAT tag is determined by the image format and should not be copied from legacy_ifd.
2019-06-30 13:26:58 +10:00
Andrew Murray
9074eda608
Merge pull request #3778 from radarhere/all_frames
...
Added ImageSequence all_frames
2019-06-30 07:55:34 +10:00
Rolf Eike Beer
7a4af2b767
fix unaligned accesses by using memcpy()
2019-06-29 21:04:11 +02:00
Rolf Eike Beer
220bfee19a
replace copy operations with memcpy()
...
This replaces trivial instances where a copy from one pointer to the other
involves no further calculations or casts. The compiler will optimize this to
whatever the platform offers.
2019-06-29 19:30:24 +02:00
Andrew Murray
90d3d37164
Do not presume that the background color index is 0
2019-06-29 23:06:45 +10:00
Andrew Murray
97c15a245c
Corrected color table size calculation
2019-06-29 23:02:26 +10:00
Andrew Murray
3e4db05249
Removed code not required by tests
2019-06-29 23:02:17 +10:00
Andrew Murray
c3e982e0c6
Merge branch 'master' into master
2019-06-29 22:59:17 +10:00
Hugo
af0d90a054
Merge pull request #3923 from cgohlke/patch-1
...
Use unsigned int to store TIFF IFD offsets
2019-06-29 11:02:10 +03:00
Hugo
0e7358a046
Updated TIFF tile descriptors to match current decoding functio… ( #3795 )
...
Updated TIFF tile descriptors to match current decoding functionality
2019-06-29 10:27:00 +03:00
Hugo
08c47925d0
Added an image.entropy()
method ( #3608 )
...
Added an `image.entropy()` method
2019-06-29 10:12:34 +03:00
Hugo
a96482bba0
Pass the correct types to PyArg_ParseTuple ( #3880 )
...
Pass the correct types to PyArg_ParseTuple
2019-06-28 21:49:54 +03:00
Christoph Gohlke
59e1328272
Use unsigned int to store TIFF IFD offsets
2019-06-27 15:30:19 -07:00
Christoph Gohlke
129df60c48
Use unsigned int to store TIFF IFD offsets
2019-06-27 15:09:31 -07:00
Christoph Gohlke
2ebde32852
Use unsigned int to store TIFF IFD offsets
2019-06-27 15:07:52 -07:00
Hugo
119d1c927b
Merge pull request #3922 from radarhere/param
...
Improved parameter documentation
2019-06-28 00:25:41 +03:00
Hugo
372c7c352a
Merge pull request #3703 from jkrshnmenon/master
...
Add an upper limit for blocks_max in _set_blocks_max
2019-06-27 23:03:25 +03:00
Hugo
b584635a8c
Merge pull request #3912 from radarhere/non_font_bytes
...
Fixed crash when loading non-font bytes
2019-06-27 22:40:29 +03:00
Hugo
219f277129
Merge pull request #3858 from kulikjak/master
...
Fix SPARC memory alignment issues in Pack/Unpack functions
2019-06-27 21:27:37 +03:00
Andrew Murray
e319e32cec
Improved parameter documentation [ci skip]
2019-06-27 22:53:46 +10:00
Andrew Murray
1a71faf8ea
Removed variable
2019-06-26 19:15:47 +10:00
Alexander Böhn
7b815a5f1d
Added an image.entropy()
method
...
This calculates the entropy for the image, based on the histogram.
Because this uses image histogram data directly, the existing C
function underpinning the `image.histogram()` method was abstracted
into a static function to parse extrema tuple arguments, and a new
C function was added to calculate image entropy, making use of the
new static extrema function.
The extrema-parsing function was written by @homm, based on the
macro abstraction I wrote, during the discussion of my first
entropy-method pull request: https://git.io/fhodS
The new `image.entropy()` method is based on `image.histogram()`,
and will accept the same arguments to calculate the histogram data
it will use to assess the entropy of the image.
The algorithm and methodology is based on existing Python code:
* https://git.io/fhmIU
... A test case in the `Tests/` directory, and doctest lines in
`selftest.py`, have both been added and checked.
Changes proposed in this pull request:
* Added “math.h” include to _imaging.c
* The addition of an `image.entropy()` method to the `Image`
Python class,
* The abstraction of the extrema-parsing logic of of the C
function `_histogram` into a static function, and
* The use of that static function in both the `_histogram` and
`_entropy` C functions.
* Minor documentation addenda in the docstrings for both the
`image.entropy()` and `image.histogram()` methods were also
added.
* Removed outdated boilerplate from testing code
* Removed unused “unittest” import
2019-06-26 19:15:47 +10:00
Hugo
a79147ff96
Merge pull request #3916 from cgohlke/patch-1
...
Fix memory leak
2019-06-26 12:09:50 +03:00
Hugo
f2d0106a9b
Merge pull request #3917 from cgohlke/patch-2
...
Fix potential null pointer is passed into memcpy
2019-06-26 12:09:22 +03:00
Jayakrishna Menon
37516fb665
adding an upper limit for blocks_max in _set_blocks_max
2019-06-26 19:08:07 +10:00
Christoph Gohlke
afed559e4f
Fix msvc9 compile error
2019-06-25 17:18:37 -07:00
Christoph Gohlke
c34cefb576
Use ssize_t to store number of elements in buffer
2019-06-25 14:41:06 -07:00
Christoph Gohlke
a78341e26c
Fix potential null pointer is passed into memcpy
2019-06-25 14:23:20 -07: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
Christoph Gohlke
47f7eba279
Fix memory leak
2019-06-25 13:33:49 -07: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
nulano
92ff050bf9
replace PyUnicode_GetLength and PyUnicode_ReadChar with macro versions
2019-06-25 22:14:48 +10:00