Commit Graph

1177 Commits

Author SHA1 Message Date
Andrew Murray
b934b50867 If an alpha channel is present, only use that to get bounding box 2020-02-28 22:33:02 +11:00
Andrew Murray
1c1ad65a96
Merge pull request #4424 from hugovk/fix-im-long-name
Fix saving IM images in dir with long path
2020-02-27 20:27:44 +11:00
Andrew Murray
9ba25f8135 Trim end of name, keeping ext 2020-02-26 20:15:23 +11:00
Zeev Tarantov
7df7cb25ee release python GIL during WEBP encode 2020-02-25 15:15:26 +02:00
Andrew Murray
17c10b0ca0 Fixed stroke on FreeType < 2.9 2020-02-24 22:49:33 +11:00
Andrew Murray
1dcf94af1b Removed unused method 2020-02-24 22:48:42 +11:00
Andrew Murray
55b487368a Use METH_NOARGS when no arguments are required 2020-02-24 22:48:42 +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
00fcc53a1d Fix lint errors 2020-02-23 15:14:06 +11:00
Peter Rowlands
9f4716ff30 Fix split fdAT chunk sequence error 2020-02-23 15:14:06 +11:00
Peter Rowlands
35148b99c1 Fix comment
[ci skip]
2020-02-23 15:14:06 +11:00
Peter Rowlands
bdcf980570 Fix pypy test failures 2020-02-23 15:14:06 +11:00
Peter Rowlands
512b060a53 Fix tox -e lint errors 2020-02-23 15:14:06 +11:00
Peter Rowlands
67e3ccffeb Add APNG support
See #3483

Adds support for reading APNG files and seeking through frames,
and adds basic support for writing APNG files.
2020-02-23 15:11:08 +11:00
orlnub123
84c33abaa0 Make key an argument 2020-02-22 12:30:10 +00:00
Hugo
a82ba5b2c2 Save IM: use only filename as name, ditch potentially overlong path 2020-02-22 13:00:25 +02:00
orlnub123
8f21d0ddf0 Improve rounding 2020-02-21 23:38:38 +00:00
Andrew Murray
a8c0794107 Allow saving of zero quality JPEG images 2020-02-21 22:05:44 +11:00
Dag Wästberg
2e02500fa6 change function names to snake_case 2020-02-19 19:38:53 +11:00
dwastberg
7d5ab9f1d4 Remove old code 2020-02-19 19:37:34 +11:00
Dag Wästberg
23a61b00b5 fix formatting 2020-02-19 19:37:02 +11:00
Dag Wästberg
23c9da5264 add Overlay chop 2020-02-19 19:34:13 +11:00
Dag Wästberg
705140cc2c add hardlight and softlight chops 2020-02-19 19:30:59 +11:00
Dag Wästberg
319f5409fe fix formatting 2020-02-19 19:28:27 +11:00
Dag Wästberg
e18e96d736 fix formatting 2020-02-19 19:28:27 +11:00
Dag Wästberg
13c1b7070d add Overlay chop 2020-02-19 19:24:36 +11:00
Dag Wästberg
5e5dfbad81 add hardlight and softlight chops 2020-02-19 19:23:09 +11:00
Jon Dufresne
c057ad1535 Warn on typos passed to features.check()
If the feature isn't one of the recognized types, a UserWarning is
emitted.
2020-02-18 19:48:48 -08:00
Andrew Murray
dd8b0de666 Close excusively opened images 2020-02-18 20:49:05 +11:00
Andrew Murray
6e130e9f63 Close file pointer in __main__ 2020-02-17 22:12:46 +11:00
Andrew Murray
bd7242228b Fixed saving bug in __main__ 2020-02-17 22:11:24 +11:00
Hugo
85e06057e2 The 'Name: ' field must be less than length 100 2020-02-17 00:57:58 +02:00
orlnub123
2e716de63d Floor the size 2020-02-16 21:26:17 +11:00
orlnub123
e226e4ed64 Don't upscale if the image is smaller than the size 2020-02-16 21:25:51 +11:00
orlnub123
e9ef1d236d Fix size calculation of Image.thumbnail() 2020-02-16 21:25:51 +11:00
nulano
309291563a return None if display profile not found in ImageCms.get_display_profile 2020-02-16 21:06:13 +11:00
Andrew Murray
b0b3097018 Explicity return None
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-02-16 20:35:39 +11:00
Andrew Murray
466da649f5 get_display_profile is only supported on Windows 2020-02-16 20:35:39 +11:00
Hugo van Kemenade
0e993c4740
Merge pull request #4334 from radarhere/outline_width
Allow explicit zero width to hide outline
2020-02-15 14:30:12 +02:00
Hugo van Kemenade
cc3c743c70
Merge pull request #4297 from radarhere/container
Change ContainerIO return type to match file object mode
2020-02-15 14:29:32 +02:00
Andrew Murray
74351dc692 Fixed sign comparison warnings 2020-02-15 22:13:23 +11:00
Andrew Murray
8acf77a042 For effiency, set newline character outside of loop 2020-02-15 22:13:10 +11:00
Andrew Murray
f958e2f8ed Return strings or bytes from ContainerIO according to the file object mode 2020-02-15 22:13:10 +11:00
Jon Dufresne
e817ed0d3e Correct str/bytes mixup in ContainerIO
Image data is expected to be read in bytes mode, not text mode so
ContainerIO should return bytes in all methods. The passed in file
handler is expected to be opened in bytes mode (as TarIO already does).
2020-02-15 22:13:10 +11:00
Hugo van Kemenade
c57e4b3a85
Merge pull request #4333 from radarhere/polygon
Only draw each polygon pixel once
2020-02-15 11:57:14 +02:00
Andrew Murray
d9e6abf8cf
Merge pull request #4410 from uploadcare/already-int
Math functions return int in Python 3
2020-02-08 09:14:27 +11:00
Alexander
54f3dc6006 Math functions return int in Python 3 2020-02-08 00:34:53 +03:00
Alexander Karpinsky
d37da39940
Merge pull request #4377 from ubyte/ubsan-signed-overflow
Avoid undefined signed overflow
2020-02-08 00:07:51 +03:00
Alexey Moiseitsev
4437a81968 Avoid undefined signed overflow 2020-02-03 14:13:16 +03:00
Alex
767f39fc75
Add support for more ExifIFD tags
Added support for:  "AmbientTemperature", "Humidity", "Pressure", "WaterDepth", "Acceleration" and "CameraElevationAngle"
2020-01-30 12:51:03 +01:00
Hugo van Kemenade
29d36c9260
Merge pull request #4388 from jdufresne/str-bytes-shim
Remove leftover Python 2 compatibility shim
2020-01-29 14:41:59 +02:00
Hugo van Kemenade
659f73d0be
Merge pull request #4389 from jdufresne/make-bytes
Remove unnecessary make_bytes() function
2020-01-27 15:55:14 +02:00
Alexander Karpinsky
5965437402
Merge pull request #4370 from uploadcare/jpeg-multiple-app13
Handle multiple and malformed JPEG APP13 markers
2020-01-27 15:46:36 +03:00
Alexander Karpinsky
fd03a68c1a
Update comment
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-01-27 15:18:02 +03:00
Jon Dufresne
c84c736e5b Remove unnecessary make_bytes() function
The function was introduced in 65112bad7e
to handle the differences between Python 2 & 3 byte handling. Now that
Python 3 supports byte formatting, can drop the unnecessary
compatibility shim in favor of native features.
2020-01-26 15:16:04 -08:00
Jon Dufresne
d57d02e827 Remove leftover Python 2 compatibility shim
In Python 3, __str__ should not return bytes.
2020-01-26 14:46:27 -08:00
Hugo van Kemenade
892aec306b
Merge pull request #4385 from jdufresne/try-block
Limit try block to code expected to raise an exception
2020-01-26 20:04:39 +02:00
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