Commit Graph

706 Commits

Author SHA1 Message Date
Hugo
65c55402b9
Merge pull request #3537 from radarhere/pickle
Fixed pickling of iTXt class with protocol > 1
2019-02-20 11:50:30 +02:00
Hugo
8cd0432e65
Merge pull request #3616 from wbadart/master
_util.isPath returns True for pathlib.Path objects
2019-02-20 11:48:12 +02:00
Andrew Murray
dbc476255e Fixed typo 2019-02-19 19:49:50 +11:00
Andrew Murray
9e52fb0fe4 Use constants for tag types 2019-02-19 19:45:53 +11:00
Andrew Murray
daa8b51339
Merge pull request #3630 from jdufresne/simplify-eq
Slightly simplify Image.__eq__
2019-02-16 14:03:48 +11:00
Adrien CLERC
4a87e067a2 convert Jpeg to Mpo instead of re-reading everything 2019-02-15 22:08:31 +01:00
Adrien CLERC
ac5dd15e16 create static method to transform a Jpeg into an Mpo
This is dirty "downcasting". It just works in this special case.
2019-02-15 22:08:14 +01:00
Adrien CLERC
3a7e2e259a split _open in two parts 2019-02-15 22:07:11 +01:00
Andrew Murray
1a7a1123e6
Merge branch 'master' into tiff-old-jpeg 2019-02-15 19:56:17 +11:00
Hugo
3c088db7ba Depreate support for EOL PyQt4 and PySide 2019-02-14 22:59:14 +02:00
Hugo
3ff70c2afc
Merge branch 'master' into imagecms-deprecations 2019-02-13 15:45:28 +02:00
Andrew Murray
1162b4cf83 Do not resize if already the destination size 2019-02-13 19:26:37 +11:00
Hugo
4ccdbf25cf
Merge pull request #3584 from radarhere/ifd_offset
Seek to IFD offset
2019-02-12 18:10:25 +02:00
Hugo
f7134f1c18
Merge pull request #3628 from jdufresne/dep-plugin-version
Deprecate PIL.*ImagePlugin.__version__ attributes
2019-02-12 15:39:43 +02:00
Andrew Murray
54f6cc7ea2 Changed subprocess stdout from devnull to None 2019-02-06 19:07:53 +11:00
Andrew Murray
d1df192e81 Renamed "file" variable to "fp" 2019-02-05 20:30:44 +11:00
Jon Dufresne
dd1e7ccc4a Slightly simplify Image.__eq__
Two identical types can be compared using the `is` operator. Object
identity is slightly faster than a string comparison as well.
2019-02-03 07:13:28 -08:00
Hugo
d02e2b5392
Merge pull request #3558 from radarhere/png
Allow for unknown PNG chunks after image data
2019-02-03 11:57:21 +02:00
Hugo
d0fa318c01
Merge pull request #3611 from radarhere/eps
Changed EPS subprocess stdin from devnull to None
2019-02-03 11:50:47 +02:00
Hugo
4d1a459fa7
Merge pull request #3574 from jdufresne/base-exc
Catch BaseException for resource cleanup handlers
2019-02-03 11:35:44 +02:00
Andrew Murray
fbaf87ae03 Replaced strings with docstrings 2019-02-03 15:58:24 +11:00
Jon Dufresne
a11fed32b3 Deprecate PIL.*ImagePlugin.__version__ attributes
Use PIL.__version__ instead.
2019-02-02 17:39:55 -08:00
Hugo
3513c82a73 Use Pillow version instead of forked PIL version 2019-01-30 15:46:14 +02:00
Hugo
158d99b8b0 Remove deprecated VERSION 2019-01-30 15:46:14 +02:00
Hugo
6d0e4a838f Flake8: Fix F821 undefined name; to prevent introducting Mypy depedency 2019-01-30 11:54:12 +02:00
Will Badart
07bff3e9b8
Implement @hugovk's comments
The `py36` flag now uses a tuple comparison to correctly handle future
major version. The unit test file also now uses `py36` as exported by
the _util module, rather than re-testing `sys.version_info`.
2019-01-28 19:45:53 -05:00
Will Badart
adae7ecc6a
_util.isPath returns True for pathlib.Path objects
Now, for functions which accept either a path or file object, the
predicate will pass on Paths and not attempt to call .read on them
before opening.

The pathlib module was added in 3.4 but os.path functions did not start
accepting path-like objects until 3.6, so that is the version after
which this implementation is defined.

Added a unit test to make sure isPath accepts Path objects. The unit
test is skipped if python version is not 3.6 or later.
2019-01-28 12:19:21 -05:00
Hugo
3476474359 Add warnings to deprecated CMS profile attributes 2019-01-28 15:40:19 +02:00
Hugo
e1381d2102 Add warnings to deprecated CMS profile attributes 2019-01-28 15:40:19 +02:00
Hugo
a149c13d2e Add warnings to deprecated CMS profile attributes 2019-01-28 15:40:19 +02:00
Hugo
7d157bd825 Add warnings to deprecated CMS profile attributes 2019-01-28 15:40:19 +02:00
Andrew Murray
4ac6bbd073 Changed version to 6.0.0 2019-01-27 14:59:51 +11:00
Hugo
1b91ae361d
Merge pull request #3599 from hugovk/rm-deprecated-imageops
Remove deprecated ImageOps functions
2019-01-26 19:48:17 +02:00
Andrew Murray
258ec6d129 Changed subprocess stdin from devnull to None 2019-01-25 18:49:10 +11:00
Hugo
b41ffe585b Remove deprecated ImageOps functions 2019-01-19 20:00:55 +02:00
Hugo
dbbe463326 Remove deprecated PIL.OleFileIO in favour of olefile Python package 2019-01-19 17:59:17 +02:00
Andrew Murray
0481d0ac1e Seek to IFD offset 2019-01-16 06:55:37 +11:00
Jon Dufresne
c41ec5b115 Fix 'BytesWarning: Comparison between bytes and string' in PdfDict
When bytes warnings are enabled with the '-b' argument, the PdfDict
class would emit a warning.
https://docs.python.org/3/using/cmdline.html#miscellaneous-options

> -b
>
> Issue a warning when comparing bytes or bytearray with str or bytes
> with int.

Object attributes are always type str, so can safely encode them without
a type check. Observe:

    $ python3
    >>> o = object()
    >>> setattr(o, b'foo', b'bar')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: attribute name must be string, not 'bytes'
2019-01-13 09:38:13 -08:00
Jon Dufresne
51e95f6252 Catch BaseException for resource cleanup handlers
In the event of a SystemExit or KeyboardInterrupt, file resources should
still be cleaned up before re-raising the exception.

https://docs.python.org/3/library/exceptions.html#exception-hierarchy
2019-01-12 18:32:14 -08:00
Jon Dufresne
3e28ba3b7d Python del is a statement not a function
https://docs.python.org/3/reference/simple_stmts.html#the-del-statement
2019-01-12 18:28:35 -08:00
Jon Dufresne
a00fc33c04 Replace .seek() magic numbers with io.SEEK_* constants
A bit more readable.

https://docs.python.org/3/library/io.html#io.IOBase.seek
2019-01-12 18:22:07 -08:00
Jon Dufresne
a08bfa6e9f Make ContainerIO.isatty() return a bool, not int
Better follows the interface of IOBase.isatty:

https://docs.python.org/3/library/io.html#io.IOBase.isatty
2019-01-12 16:48:05 -08:00
Jon Dufresne
0ae7b3374e Use bool type for ImageCms inPlace argument (instead of int)
The argument is used as a bool and the docs describe it as a bool, so
use an actual bool.
2019-01-07 20:22:52 -08:00
Andrew Murray
4e0a73b4fa Allow for unknown PNG chunks after image data 2019-01-08 07:21:25 +11:00
cgohlke
c0f4382af2
Add TIFF compression codecs: LZMA, Zstd, WebP 2019-01-06 19:49:00 -08:00
Hugo van Kemenade
4d1be57256
Merge pull request #3540 from radarhere/fp
Only close __fp if not fp
2019-01-06 12:53:04 +02:00
Andrew Murray
4c0e32ccf2 Improved get_format_mimetype logic 2019-01-06 07:00:00 +11:00
Hugo van Kemenade
22b0f53eb9
Merge pull request #3532 from radarhere/png_load_end_idat
PNG: Handle IDAT chunks after image end
2019-01-05 12:08:58 +02:00
Andrew Murray
71b64dcf73 Only close __fp if not fp 2019-01-04 12:29:23 +11:00
Andrew Murray
ea2a0e4654 Handle IDAT chunks after image end 2019-01-03 19:13:19 +11:00
Andrew Murray
f8df6d1687 Fixed pickling of iTXt class with protocol > 1 2019-01-03 09:31:55 +11:00
Andrew Murray
bd7422f934 Detect whether mimetype is image/jp2 or image/jpx 2019-01-02 15:39:39 +11:00
Andrew Murray
42e2bed4a6 If SGI image is RGB mode, then apply image/rgb mimetype 2019-01-02 14:13:37 +11:00
Andrew Murray
97ae0c42b1 Detect whether mimetype is image/png or image/apng 2019-01-02 14:13:10 +11:00
Hugo
e32e3fdbeb 5.5.0.dev0 version bump 2019-01-01 20:26:53 +02:00
Hugo
0be809ddb3 5.4.0 version bump 2019-01-01 12:31:45 +02:00
Hugo
398d2f0c15
Merge pull request #3522 from radarhere/imagechops
Improved ImageChops documentation
2019-01-01 12:21:28 +02:00
Hugo
6b5aa006b2
Merge pull request #3519 from radarhere/putpixel
Allow RGB and RGBA values for P image putpixel
2019-01-01 11:46:30 +02:00
Andrew Murray
ff61119f9f Changed docstring to be consistent 2019-01-01 20:44:04 +11:00
Hugo
2de101e02c
Apply suggestions from code review
Changed docstrings to be consistent

Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2019-01-01 20:42:23 +11:00
Andrew Murray
aa8f30eae8 Several methods require at least one mode 1 image 2019-01-01 14:14:22 +11:00
Andrew Murray
671f7a392d Allow RGBA value for P image putpixel 2018-12-31 13:37:04 +11:00
Andrew Murray
3f6282e259 Allow RGB value for P image putpixel 2018-12-31 11:35:15 +11:00
Andrew Murray
bc3925ead5 Fixed writing to temporary file 2018-12-31 08:27:07 +11:00
Hugo
454fdd7800
Merge pull request #3501 from pirate486743186/patch-2
Add APNG extension to PNG plugin
2018-12-29 16:55:07 +02:00
Andrew Murray
6ead422e91 Added custom string TIFF tags 2018-12-29 16:14:52 +11:00
Andrew Murray
952de2ec4c Use constants for tag types 2018-12-29 16:14:29 +11:00
Andrew Murray
5edeca28b6 Corrected docstring 2018-12-28 07:14:44 +11:00
Andrew Murray
21268c87b3
Merge branch 'master' into patch-2 2018-12-27 17:39:40 +11:00
Andrew Murray
acc2c150f6 Added APNG mime type 2018-12-27 11:19:40 +11:00
Andrew Murray
09e94e40a1 Handle APNG chunks 2018-12-27 10:53:16 +11:00
pirate486743186
8d0b7e6b57 adding apng extension for png 2018-12-26 21:14:27 +01:00
Hugo
a43b8bac1e
Merge pull request #3506 from radarhere/png
Read textual chunks located after IDAT chunks for PNG
2018-12-26 13:34:50 +02:00
Hugo
14b1321c42
Merge pull request #3503 from Glandos/patch-2
Don't try to hash value if enum is empty
2018-12-26 13:32:18 +02:00
Hugo
78bc4da131
Merge pull request #3350 from radarhere/custom_tags
Added custom int and float TIFF tags
2018-12-26 13:07:46 +02:00
Hugo
bbb3be9a9d
Merge pull request #3187 from radarhere/encoderinfo
Wait until mode is normalized to copy im.info into encoderinfo
2018-12-26 12:56:50 +02:00
Andrew Murray
22837c37e2 Read textual chunks located after IDAT chunks 2018-12-24 23:58:19 +11:00
Glandos
0b8b3e679a
Add code comment 2018-12-22 15:29:31 +01:00
Glandos
e37b3fb7d3
don't try to hash value if enum is empty
Very few tags have an enum, and for those who don't, computing the hash value can be very expensive, e.g. instances of `fractions.Fraction` as mentioned in [the source](https://github.com/python/cpython/blob/master/Lib/fractions.py#L543).
2018-12-20 16:07:03 +01:00
Hugo
69837baba2
Merge pull request #3490 from radarhere/open_files
Updated open files documentation
2018-12-13 21:14:22 +02:00
Hugo
3ed5dcc928
Merge pull request #3467 from hugovk/lint-can-fail
CI: Allow lint job to fail
2018-12-13 21:09:58 +02:00
Hugo
961fecb35c
Merge pull request #3261 from radarhere/fp
Resolve __fp when closing and deleting
2018-12-13 21:09:23 +02:00
Hugo
857b077f5c
Merge pull request #3461 from radarhere/exclusive_fp
Close exclusive fp before discarding
2018-12-13 21:07:32 +02:00
Andrew Murray
233915bf9d Updated strings 2018-12-13 19:19:45 +11:00
Hugo
0635e38514
Updated list syntax
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2018-12-13 00:28:26 +11:00
Andrew Murray
7172a44caa Added libjpegturbo to check_feature 2018-12-12 21:25:05 +11:00
Andrew Murray
91f727051b Updated open files documentation 2018-12-11 14:39:10 +11:00
Konstantin Kopachev
e91b851fdc
Add reading old-JPEG compressed TIFFs
Old-style JPEG compression in TIFFs are able to be read using Strip/Tile APIs. Although, it should be possible to read them using Scanline API, it does not work for some reason.  Anyway, reading subsampled YCbCr formats through Strip/Tile/Scanline libtiff API does not de-subsample the data, so caller should unpack data to whatever format is appropriate.  New-style JPEG compressed images were already read through libtiff as RGB images (https://github.com/python-pillow/Pillow/pull/3227). Unfortunately, there is no flag to ask libtiff to de-subsample old jpeg, but it provides a way to read any image as 32bit RGBA.  This commit adds ability to read old-style JPEG TIFFs through reading *all* YCbCr images as RGBX using Tile and Strip reading API. This supersedes previous work (PR #3227) to read new-style JPEG-TIFFs.
2018-12-10 10:07:41 -08:00
Andrew Murray
ad26f53bf6 Updated comments 2018-12-05 18:19:00 +11:00
Hugo
ffa4932ed0 noqa a pair of ambiguous variable names 2018-12-04 23:25:28 +02:00
Hugo
c353225851 Prefer 'except Exception:' to bare 'except:' 2018-12-04 23:25:28 +02:00
Hugo
c75910dbc3 noqa some Py2/3 compat lines and others 2018-12-04 23:25:27 +02:00
Hugo
f3c1f08f5b noqa the few remaining long and hard-to-split lines 2018-12-04 23:25:27 +02:00
Hugo
231604e921
Merge pull request #3471 from radarhere/background
Change color table index background to tuple when saving as WebP
2018-12-04 23:22:53 +02:00
Hugo
a4fccd3dde
Merge pull request #3479 from radarhere/gif_extension
Allow arbitrary number of comment extension subblocks
2018-12-04 23:09:59 +02:00
Hugo
0c2e4840f2
Merge pull request #3478 from radarhere/fli
Ensure previous FLI frame is loaded before seeking to the next
2018-12-04 22:51:54 +02:00
Hugo
5c16528fdf
Merge pull request #3450 from radarhere/imageshow
ImageShow improvements
2018-12-04 22:47:28 +02:00
Andrew Murray
b2b737b68b Allow arbitrary number of comment extension subblocks 2018-11-27 21:11:22 +11:00
Andrew Murray
f1b2802eb1 Resolved error for comment extension with zero subblocks 2018-11-27 21:09:28 +11:00
Andrew Murray
2f7f945c84 Ensure previous FLI frame is loaded before seeking to the next 2018-11-26 18:52:51 +11:00
Andrew Murray
6c126ca282 Change color table index background to tuple when saving 2018-11-20 19:50:14 +11:00
Andrew Murray
84df069169 Use im.info background when saving 2018-11-20 18:50:00 +11:00
Andrew Murray
47775f3d50 Resolve __fp when closing and deleting 2018-11-17 21:56:06 +11:00
Andrew Murray
61397de88b Check quality_layers type 2018-11-16 23:31:42 +11:00
Andrew Murray
b637b5f7a2 Close exclusive fp before discarding 2018-11-13 22:13:55 +11:00
Andrew Murray
fea3dafd05 Supply filename through stdin instead of inline in Mac and Unix ImageShow viewers 2018-11-12 19:33:57 +11:00
Andrew Murray
a0be7b09cc Added UnixViewer get_command 2018-11-12 19:33:57 +11:00
Andrew Murray
ddf8593e7b Do not write custom tags with libtiff < 4 2018-11-12 06:14:04 +11:00
Andrew Murray
a3d45e9cef Added custom int and float TIFF tags 2018-11-12 06:14:04 +11:00
Hugo
ceebfc6fe8 flake8: E501 line too long 2018-11-11 19:01:11 +02:00
Hugo
7d625940ae flake8: E131 continuation line unaligned for hanging indent 2018-11-11 19:01:11 +02:00
Hugo
94c94eb1f7 flake8: E128 continuation line under-indented for visual indent 2018-11-11 19:01:11 +02:00
Hugo
a3079eab9e flake8: E127 continuation line over-indented for visual indent 2018-11-11 19:01:10 +02:00
Hugo
0b7910c7cd flake8: E402 module level import not at top of file 2018-11-11 19:01:10 +02:00
Hugo
91da8ff31d flake8: F401 imported but unused 2018-11-11 19:01:10 +02:00
Hugo
eb9aee7048 flake8: F841 local variable is assigned to but never used 2018-11-11 19:01:10 +02:00
Andrew Murray
e3220c0f4d Changed capitalisation 2018-11-11 16:00:48 +11:00
Hugo
5288cf63c9 Changed capitalisation
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2018-11-11 16:00:40 +11:00
Andrew Murray
52c175d1bc Added context manager, __del__ and close methods 2018-11-11 16:00:17 +11:00
Andrew Murray
747eccbfc2 Close exclusive fp on open exception 2018-11-09 11:35:08 +11:00
Hugo
ed10276a6b
Merge pull request #3418 from radarhere/webp_fp
Only close existing fp in WebP if fp is exclusive
2018-10-31 09:16:53 +02:00
Hugo
e12aa375ec
Merge pull request #3406 from Nazime/negativeindex
Add negative index to PixelAccess
2018-10-27 23:27:15 +03:00
Hugo
4530f55c61
Merge pull request #3385 from radarhere/gif_background
Change tuple background to global color table index when saving as GIF
2018-10-24 22:34:40 +03:00
Andrew Murray
929f7397db Line too long 2018-10-21 18:26:08 +11:00
Andrew Murray
ac20a02b7a Do not use bare 'except' 2018-10-21 18:11:39 +11:00
Andrew Murray
f2d4d19cc4 Undefined name 2018-10-21 18:00:52 +11:00
Andrew Murray
ede35510c1 Continuation line over-indented for visual indent 2018-10-21 17:59:59 +11:00
Andrew Murray
d265757651 Continuation line unaligned for hanging indent 2018-10-21 17:59:51 +11:00
Andrew Murray
77f807cf73 Continuation line under-indented for visual indent 2018-10-21 17:59:27 +11:00
Andrew Murray
6099ddeef9 Expected 1 blank line before a nested definition 2018-10-21 17:59:18 +11:00
Andrew Murray
e84a78d828 Only close existing fp if fp is exclusive 2018-10-19 20:12:08 +11:00
Alexander Karpinsky
2222a581ab
Merge pull request #3409 from uploadcare/resize-from-box-in-fit
Optimise ImageOps.fit by combining resize and crop
2018-10-18 11:55:06 +03:00
Alexander Karpinsky
b8e7f646f3
Merge pull request #3415 from python-pillow/fix-webp-loading-from-blob
Quick fix: revert #3341 due to regression
2018-10-18 11:38:29 +03:00
Alexander
6cabcadae4 add release notes 2018-10-18 10:58:20 +03:00
Alexander
f8d4aa5882 Quick fix: revert #3341 due to regression 2018-10-18 10:19:11 +03:00
Alexander
73eec9000d Optimise ImageOps.fit by combining resize in crop 2018-10-17 01:57:55 +03:00
Nazime
86324a842d Add setting negative pixels and unittest 2018-10-15 12:51:24 +02:00
Nazime
468c405a47 Image pixels negative index 2018-10-14 16:12:58 +02:00
Andrew Murray
7edca01921 Minor documentation improvement [ci skip] 2018-10-11 19:36:50 +11:00
Erich Seifert
9807f1ad56
Fixed documentation on bilevel conversion
The cutoff when converting an image to bilevel (mode "1") is 128. This should resolve issue #3394.
2018-10-05 01:11:24 +02:00
Andrew Murray
a7eb2ea9cc Change tuple background to global color table index when saving 2018-10-02 20:52:07 +10:00
Andrew Murray
3437d5fcb4 5.4.0.dev0 version bump 2018-10-01 18:39:58 +10:00
Andrew Murray
0ac14725ef 5.3.0 version bump 2018-10-01 15:48:10 +10:00
Hugo
2fa54408d4
Merge pull request #3203 from radarhere/size
Changed Image size property to be read-only by default
2018-09-30 14:35:35 +03:00
Andrew Murray
2c11974b86 Fixed typo 2018-09-30 21:09:42 +10:00
Hugo
a0fda60662 Use snake_case 2018-09-30 15:34:33 +10:00
Andrew Murray
82d942c3d8 Added warnings if image file identification fails due to lack of support 2018-09-30 15:34:27 +10:00
Andrew Murray
6f44ae1d27 Only deprecate setting of TIFF image sizes 2018-09-30 15:08:35 +10:00
Andrew Murray
0adeb82e98 Changed Image size property to be read-only by default 2018-09-30 13:45:18 +10:00
Hugo
98caf40507
Merge pull request #3378 from hugovk/windows-gs-popup
Hide the Ghostscript progress dialog popup on Windows
2018-09-29 23:09:16 +03:00
Hugo
d36365f4fb
Merge pull request #3227 from kkopachev/master
Adding support to reading tiled and YcbCr jpeg tiffs through libtiff
2018-09-29 19:45:29 +03:00
Hugo
84b4905a94
Merge pull request #3310 from radarhere/compression
Fixed None as TIFF compression argument
2018-09-29 19:44:43 +03:00
Hugo
8458641bb8
Merge pull request #3324 from radarhere/info
Changed GIF seek to remove previous info items
2018-09-29 19:41:03 +03:00
Hugo
e2deb07608
Merge pull request #3274 from radarhere/pdf
Improve PDF document info
2018-09-29 17:43:05 +03:00
Hugo
e380481662
Merge pull request #3386 from radarhere/convert
Improved convert documentation
2018-09-29 16:48:08 +03:00
Andrew Murray
1e305380ae
Merge pull request #3094 from hugovk/add-width-to-shapes
Add line width parameter to rectangle and ellipse-based shapes
2018-09-29 23:21:03 +10:00
Andrew Murray
29bc4b2df4 Improved convert documentation [ci skip] 2018-09-29 20:14:56 +10:00
Andrew Murray
a8261a2e89 Line too long 2018-09-27 20:35:00 +10:00
Andrew Murray
f8fbac68de Removed unused imports 2018-09-27 20:31:01 +10:00
Andrew Murray
9b0d4baa8c Continuation line under-indented for visual indent 2018-09-27 20:31:01 +10:00
Konstantin Kopachev
69f315a585
PR feedback: simplified key construct for fillorder=2; indentation fixes 2018-09-26 09:44:45 -07:00
Hugo
a3f7ce5b73
Merge pull request #3313 from dinkolubina/fix-img-crop
Fix _crop and tests
2018-09-26 16:50:54 +03:00
Hugo
f29881fd60
Merge pull request #3377 from radarhere/color_diff
Added support to floodfill for non-RGB colors
2018-09-26 16:24:59 +03:00
Hugo
9e54c14dfa
Merge pull request #2214 from jdufresne/eps-text-wrapper
Use TextIOWrapper.detach() instead of NoCloseStream
2018-09-26 15:34:24 +03:00
Hugo
5a8c48c4f3
Merge pull request #3205 from radarhere/transparency
Added transparency to matrix conversion
2018-09-26 15:29:21 +03:00
Andrew Murray
b5af283732 Added support to floodfill for non-RGB colors 2018-09-26 22:22:17 +10:00
Hugo
ae415907cb flake8 and tidy up 2018-09-26 14:38:44 +03:00
Hugo
f13c150f00 Hide the Ghostscript progress dialog on Windows 2018-09-26 14:38:33 +03:00
Hugo
78203606b7
Merge pull request #3364 from radarhere/contain
Added ImageOps pad method
2018-09-26 13:54:26 +03:00
Hugo
1b9a1c7ed7
Merge pull request #3279 from radarhere/pyside2
Added PySide2
2018-09-26 13:16:31 +03:00
Andrew Murray
b09b43d8b2 Added ImageOps pad method 2018-09-26 20:07:46 +10:00
Andrew Murray
0c37491201 Corrected tags 2018-09-23 17:22:16 +10:00
Hugo
ed4de6cb62
Fix docstring typo
If we `import numpy as np`, use `np` not `numpy`
2018-09-20 15:27:30 +03:00
Konstantin Kopachev
187782470b
Drop YCbCrX(XX) modes, as TIFF does not have to support that 2018-09-18 12:06:27 -07:00
Konstantin Kopachev
f874e6f058
Fix typo and add explanatory comment 2018-09-18 12:06:26 -07:00
Konstantin Kopachev
1e4b3177ed
Change comment wording to reflect ability to read tiled tiffs [ci skip] 2018-09-18 12:05:51 -07:00
Konstantin Kopachev
e6c510ef38
Remove redundant decompression; adjust jpeg read mode to be RGBX (pad) 2018-09-18 12:05:50 -07:00
Konstantin Kopachev
1f63abdba8
Fix tiled raw tiff read and add tests 2018-09-18 12:05:49 -07:00
Konstantin Kopachev
f0436a4ddc
Adding support to reading tiled and YcbCr jpegs tiffs through libtiff 2018-09-18 12:05:49 -07:00
Hugo
521ae77bb9
Merge pull request #3298 from kkopachev/webp-rgb
Read/save RGB webp as RGB (instead of RGBX)
2018-09-17 12:05:07 +03:00
Hugo
73c305d4d5
Merge pull request #3333 from jdufresne/debug-print
Clean up commented out debug print statements
2018-09-17 11:56:19 +03:00
Andrew Murray
f3842460ba Added line joints 2018-09-16 21:29:09 +10:00
Andrew Murray
7b4040f991
Merge pull request #3294 from yo1995/perfperf-improv-ImageDraw-floodfill
Performance improvement of ImageDraw.floodfill()
2018-09-16 12:46:50 +10:00
Giovanni Cavallin
e5160bd373 From KeyError to ValueError when saving image
When saving an image, if the extension is not determined it raises a ValueError (while internally it manages a KeyError) so I propose this change
2018-09-11 19:32:47 +10:00
Andrew Murray
dd2698f00e
Merge pull request #3335 from uploadcare/more-tiff-modes
Add more raw Tiff modes (RGBaX, RGBaXX, RGBAX, RGBAXX)
2018-09-10 19:42:09 +10:00
Alexander
a95e57af46 Wrong raw mode for YCbCr with two extra channels 2018-09-08 18:21:02 +03:00
Andrew Murray
9d9da79caa Close existing fp before setting new fp 2018-09-08 23:08:17 +10:00
Hugo
79552080ab
Merge pull request #3327 from radarhere/tga
Added orientation, compression and id_section as TGA save keyword arguments
2018-09-08 13:13:13 +03:00
Andrew Murray
a9d504e91d Renamed idlen variable to id_len 2018-09-08 19:02:03 +10:00
Andrew Murray
325ca3cede Trim id_section if it is greater than 255 characters 2018-09-08 08:26:32 +10:00
Andrew Murray
9e4c54e10f Added orientation, compression and id_section as keyword arguments 2018-09-08 08:12:26 +10:00
Andrew Murray
0a44d58314 Convert int values of RATIONAL TIFF tags to floats 2018-09-07 20:35:55 +10:00
dinko
66207b47bc fix _crop and tests 2018-09-05 21:00:35 +02:00
Hugo
fa14698e66
Merge pull request #3233 from hugovk/PYTHONOPTIMIZE
Fix code for PYTHONOPTIMIZE
2018-09-05 19:57:10 +03:00
Alexander Karpinsky
f7eb11cc3d
Merge branch 'master' into more-tiff-modes 2018-09-05 17:58:31 +03:00
Alexander
accc66fb5e add support for RGBaXX and RGBaX raw tiff modes 2018-09-05 17:45:03 +03:00
Alexander
ad5cf0a0e2 Add RGBAX and RGBAXX tiff modes 2018-09-05 17:36:27 +03:00
Jon Dufresne
37f10651bd Clean up commented out debug print statements 2018-09-04 20:02:42 -07:00
Jon Dufresne
7e67b9c58f Use TextIOWrapper.detach() instead of NoCloseStream
Usage and this pattern is discussed in Python bug: https://bugs.python.org/issue21363
2018-09-04 19:30:36 -07:00
yo1995
bb77f62586 fix typo: proceeded -> processed 2018-09-04 21:15:25 -04:00
Konstantin Kopachev
f3edf52900
Convert unsupported WebP mode to RGB as .convert supports more src modes 2018-09-04 11:00:29 -07:00
yo1995
3cf1a4ea87 improved comments and one logic according to PR 3294 discussion 2018-09-04 12:03:20 -04:00
Andrew Murray
5e2d6c951a
Merge branch 'master' into perfperf-improv-ImageDraw-floodfill 2018-09-01 20:58:53 +10:00
Andrew Murray
4a34116be5 Removed duplicate code 2018-09-01 18:30:04 +10:00
Andrew Murray
0411caba67 Catch ValueError when processing the edge of an image 2018-09-01 17:18:13 +10:00
Andrew Murray
fbc121d678 Changed GIF seek to remove previous info items 2018-09-01 09:28:22 +10:00
Hugo
2d6f0f77da Fix typo 2018-08-25 19:06:11 +03:00
Hugo
29b2c6e23d Only import cffi where needed, to avoid problems with PYTHONOPTIMIZE=2 2018-08-25 19:06:11 +03:00
Hugo
d7e4d3db3f Convert assert into exception 2018-08-25 19:06:11 +03:00
Hugo
fc8717fb04 Remove docstring formatting for when PYTHONOPTIMIZE=2 2018-08-25 19:06:11 +03:00
Andrew Murray
3ae5f05410 Changed Kernel to subclass BuiltinFilter, instead of the other way around 2018-08-25 23:30:47 +10:00
Andrew Murray
36b1afff26 Fixed None as TIFF compression argument 2018-08-25 08:21:43 +10:00
Andrew Murray
fc57658635 Added PDF creation and modification date info 2018-08-25 00:58:49 +10:00
Andrew Murray
f5740dc305 Set PDF title to filename by default 2018-08-25 00:58:49 +10:00
Andrew Murray
de2fbc9dff Wait until mode is normalized to copy im.info into encoderinfo 2018-08-25 00:55:51 +10:00
Andrew Murray
e98469ecf6 Added transparency to matrix conversion 2018-08-25 00:54:51 +10:00
Andrew Murray
df328a89a4 Added PySide2 2018-08-25 00:51:50 +10:00
Konstantin Kopachev
0704367952
Add more parenthesis to make statement clearer 2018-08-12 21:44:25 -07:00
Andrew Murray
e3aaa80c06 Added NumPy to documentation 2018-08-12 13:58:26 +10:00
Andrew Murray
046df78448 Fixed typos 2018-08-11 16:39:49 +10:00
Konstantin Kopachev
84b32a0388
Read/Save RGB webp as RGB (instead of RGBX) 2018-08-09 11:40:10 -07:00
Andrew Murray
1648676435 Fixed typo [ci skip] 2018-08-09 20:54:16 +10:00
yo1995
a221420ec3 fixe typo 2018-08-06 19:36:18 +08:00
yo1995
8676044a27 fix docstring tab 2018-08-06 18:47:49 +08:00
yo1995
24388addb6 feature improvement: improved performance of ImageDraw.floodfill with Python built-in set() datatype. 2018-08-06 18:13:57 +08:00
Hugo
f70f952f85
Merge branch 'master' into add-width-to-shapes 2018-07-14 14:58:48 +03:00
tsennott
50d6611587 moved tuple test to assert method in PillowTestCase; added docs 2018-07-09 07:04:48 -07:00
tsennott
1eed17c70e tightened up colorize(); split tests; moved tuple comparison fcn to helper.py 2018-07-08 20:09:39 -07:00
tsennott
4a6ec5ca72 updated colorize to allow optional black/white positions; enhanced tests 2018-07-07 18:19:26 -07:00
tsennott
b19c460568 fixed mapping function, now smooth 2018-07-06 19:49:07 -07:00
tsennott
3c6fd275c8 added assert for midpoint range 2018-07-06 19:09:57 -07:00
tsennott
adf570a77e adding tests, updated docstring and comments 2018-07-06 18:42:16 -07:00
tsennott
63d8637bb8 adding three-color feature to ImageOps.colorize 2018-07-06 18:18:06 -07:00
Hugo
5d751572cc
Merge pull request #2922 from radarhere/fill_ink
Skip outline if the draw operation fills with the same colour
2018-07-02 22:19:35 +03:00
Hugo
959db43d22
Merge pull request #3173 from radarhere/flake8
Flake8 fixes
2018-07-02 21:42:17 +03:00
Hugo
4d88e2852e
Merge pull request #2187 from jdufresne/open-warning
Avoid deprecated 'U' mode when opening files
2018-07-02 21:34:32 +03:00
Andrew Murray
2630054266 Removed unused import 2018-07-02 19:26:07 +10:00
Andrew Murray
c2189235af Line too long 2018-07-02 19:26:02 +10:00
Andrew Murray
145589ef14 Ambiguous variable name 'l' 2018-07-02 19:21:44 +10:00
Andrew Murray
e7cfa15216 Visually indented line with same indent as next logical line 2018-07-02 19:21:44 +10:00
Andrew Murray
0e61d4be9f Removed unused variables 2018-07-02 19:21:44 +10:00
Andrew Murray
32cebddd1e Multiple imports on one line 2018-07-02 19:21:44 +10:00
Andrew Murray
e7815ccd62 Block comment should start with '# ' 2018-07-02 19:21:44 +10:00
Andrew Murray
fe42591f5f Removed redundant backslash between brackets 2018-07-02 19:20:48 +10:00
Andrew Murray
5a33e02072 Commented unused variable 2018-07-02 19:20:48 +10:00
Andrew Murray
bf29960283 Fixed multiple spaces after operator 2018-07-02 19:20:48 +10:00
Hugo
d6e3ef85c2 Add width parameter to arc, chord, ellipse, pieslice 2018-07-02 11:26:42 +03:00
Hugo
9dedbff713 Add width parameter to rectangle 2018-07-02 11:21:30 +03:00
Hugo
ae9f62040d 5.3.0.dev0 version bump 2018-07-02 10:26:56 +03:00
Hugo
c28bf86b7e 5.2.0 version bump 2018-07-01 22:40:29 +03:00
Hugo
c222df2b56
Merge pull request #3137 from radarhere/pdf
Fixed saving a multiframe image as a single frame PDF
2018-07-01 22:18:48 +03:00
Hugo
8e3c450de2
Merge pull request #3143 from radarhere/qt
If a Qt version is already imported, attempt to use it first
2018-07-01 22:16:05 +03:00
Hugo
af552801c2
Merge pull request #3186 from danpla/tga-write-rle
TGA: Add support for writing RLE data
2018-07-01 22:00:03 +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
Hugo
abae745da1
Merge pull request #3114 from tianyu139/hotfix
Fixed bug in ImageDraw.multiline_textsize()
2018-07-01 21:34:45 +03:00
Hugo
490464010a
Merge pull request #3113 from tianyu139/develop
Added getsize_multiline support for PIL.ImageFont
2018-07-01 21:33:21 +03:00
Hugo
d97e16c903
Merge pull request #3190 from radarhere/mimetype
Added ImageFile get_format_mimetype method
2018-07-01 21:19:57 +03:00
Hugo
cebcc06a1b
Merge pull request #3216 from radarhere/mmap
Changed mmap file pointer to use context manager
2018-07-01 20:59:54 +03:00
Jon Dufresne
1ba14783d2 Avoid deprecated 'U' mode when opening files
Instead, use PSFile() wrapper to handle all newline in the EPS spec.

Update line ending tests to handle all combinations of '\n' and '\r'.

Fixes warning "DeprecationWarning: 'U' mode is deprecated" in tests.
2018-07-01 08:07:59 -07:00
Martin Thoma
32e721498a
Use cls instead of klass as first argument
This is captured by N804 / https://www.python.org/dev/peps/pep-0008/?#function-and-method-arguments
of PEP8
2018-07-01 14:10:58 +02:00
Alex Clark
17be81f53d
Merge pull request #3218 from hugovk/update-docstrings
Update docstrings
2018-07-01 07:50:07 -04:00
Hugo
2b09e7fa6a
Merge pull request #3099 from uploadcare/lut-numpy
NumPy support for LUTs
2018-07-01 13:18:03 +03:00
Hugo
d52fd2b79b
Merge pull request #3217 from radarhere/pop
Simplified dictionary pop
2018-07-01 12:49:32 +03:00
Hugo
36be37c5c5 update package and version module docstrings
Co-authored-by: gnbl <gnbl@github>
2018-07-01 10:45:08 +03:00
Hugo
87d38a6dde
Merge pull request #2946 from hugovk/2944-exif
Only extract first Exif segment
2018-07-01 07:53:17 +03:00
Hugo
5dda23d547
Merge pull request #3135 from hugovk/test-imagedraw2
Test ImageDraw2
2018-07-01 07:48:54 +03:00
Andrew Murray
4d59941608 Simplified dictionary pop 2018-07-01 14:47:48 +10:00
Andrew Murray
c971bac651 Changed mmap file pointer to use context manager 2018-07-01 12:19:30 +10:00
Andrew Murray
dbf899fb78 Removed manual determination of mmap file length 2018-07-01 12:09:23 +10:00
Alex Clark
eafbb395a9
Merge pull request #1817 from radarhere/gd
Added GD tests
2018-06-30 18:01:36 -04:00
Alex Clark
9e5494e9a6
Merge pull request #3123 from hugovk/collections.abc-deprecationwarning
Fix collections ABCs DeprecationWarning in Python 3.7
2018-06-30 18:00:10 -04:00
Hugo
2be5c035fb
Merge pull request #3201 from landfillbaby/patch-1
unpack_from is faster than unpack of slice
2018-06-30 23:12:43 +03:00
Andrew Murray
6793b5bbd5 Added ImageFile get_format_mimetype method 2018-06-30 21:08:41 +10:00
Andrew Murray
d9653a48c7 Added file handling links in documentation 2018-06-30 16:44:59 +10:00
Lucy Phipps
98cff5320a unpack_from is faster than unpack of slice 2018-06-24 18:00:22 +01:00
Andrew Murray
7274636a7e Added coordinate system links in documentation 2018-06-24 14:34:01 +10:00
Daniel Plakhotich
1d20056234 TGA: Add support for writing RLE data 2018-06-15 23:01:06 +03:00
Daniel Plakhotich
39fae6e077 TGA: Read and write LA data 2018-06-14 12:18:08 +03:00
Hugo
3c032a3809
Merge pull request #3171 from radarhere/save
Corrected argument name in documentation
2018-06-14 09:31:31 +03:00
Hugo
aaa2560374
Merge pull request #3164 from radarhere/fill
Improved Image.transform documentation
2018-06-14 09:27:37 +03:00
Hugo
48dda53c12
Merge pull request #3163 from radarhere/fillcolor
Fixed transform fillcolor argument when image mode is RGBA or LA
2018-06-14 09:25:00 +03:00
Andrew Murray
a73dcf42ad Corrected argument name in documentation 2018-06-12 04:42:25 +10:00
Andrew Murray
ae2ffb8a05 Fixed transform fillcolor argument when image mode is RGBA or LA 2018-06-12 04:41:46 +10:00
Andrew Murray
62c870f5cf Fixed raising of no exception 2018-06-12 04:41:31 +10:00
Andrew Murray
15a4aaec7c Improved Image.transform documentation [ci skip] 2018-06-08 22:04:13 +10:00
Andrew Murray
1947d65c7b Removed unnecessary init method 2018-06-03 16:43:30 +10:00
Andrew Murray
30b292c6d8 Corrected argument name in documentation 2018-06-01 20:18:41 +10:00
Hugo
9050b47169 Not in this version, not in any version 2018-05-31 15:11:50 +03:00
Andrew Murray
3d82672404 Added getrgb hsb color string 2018-05-31 06:14:29 +10:00
Andrew Murray
b50f63430f Added getrgb hsv color string 2018-05-31 06:13:22 +10:00
Andrew Murray
adda3b7473 Allow float values in getrgb hsl color string 2018-05-30 21:00:44 +10:00
Andrew Murray
821862c401 If a Qt version is already imported, attempt to use it first 2018-05-29 21:21:53 +10:00
Andrew Murray
3bbd0a5810 Fixed saving a multiframe image as a single frame PDF 2018-05-18 22:15:45 +10:00
Hugo
3dbd4fb9e8 Fix DeprecationWarning in Python 3.7 2018-05-06 15:31:43 +03:00
Andrew Murray
765a6c7e74 Updated redirected URLs 2018-04-30 14:20:32 +10:00
Andrew Murray
f77adb5ab3 Replaced broken URLs with archive URLs 2018-04-30 11:01:09 +10:00
Hugo
de6baf65f3 Clarify PILLOW_VERSION will be removed after VERSION 2018-04-25 11:24:50 +03:00
Hugo
ef9bf76ce8 PILLOW_VERSION will be removed in a future release 2018-04-25 11:24:50 +03:00
Hugo
34d66494ca Keep Image.VERSION here 2018-04-25 11:21:38 +03:00
Hugo
d80ed2e948 Deprecate PILLOW_VERSION and VERSION, use __version__ instead 2018-04-25 11:21:38 +03:00
Hugo
e33dd498f5 Prefer more conventional __version__ rather than PILLOW_VERSION 2018-04-25 11:21:38 +03:00
tianyu
d6926009d0 Fixed bug: ImageDraw.multiline_textsize() returning wrong size by adding extra spacing 2018-04-24 22:54:27 +08:00
tianyu
b77e89b286 Added getsize_multiline support for ImageFont 2018-04-24 22:26:52 +08:00
Hugo
04a1f71b4c
Merge pull request #3105 from radarhere/py3
Change Python version checks to use util
2018-04-22 18:37:33 +03:00
Andrew Murray
b4e6cdadac Added py3 variable to _util 2018-04-20 09:19:13 +10:00
Andrew Murray
bf77bba323 Changed dictionary comprehension style 2018-04-18 16:00:57 +10:00
Andrew Murray
cbc056f43d Fixed whitespace 2018-04-18 16:00:57 +10:00
Andrew Murray
06f4cd62ad Removed redundant backslashes 2018-04-18 16:00:18 +10:00
Andrew Murray
30c9ca15fb Fixed docstrings 2018-04-18 16:00:17 +10:00
Alexander
5ec1b2e8ba versionadded 2018-04-14 18:48:06 +03:00
Alexander
c8405ef706 Transparently store numpy arrays in ColorLut 2018-04-14 18:16:28 +03:00
Alexander Karpinsky
b01ba0f50c
Merge pull request #3091 from uploadcare/lut-alter
Transforming LUTs
2018-04-14 18:08:52 +03:00
Alexander
854a0d6044 edit doctring [ci skip] 2018-04-14 15:03:34 +03:00
Alexander
68af72bef4 edit doctring [ci skip] 2018-04-13 10:07:51 +03:00
Alexander
d9b8d970b2 edit doctring [ci skip] 2018-04-12 23:42:47 +03:00
Alexander
daa8e7dacd Add earlier catching of wrong channels count 2018-04-12 12:40:40 +03:00
Alexander
1a371e572c update repr method 2018-04-12 12:10:28 +03:00
Alexander
75c76d91e1 Add repr for Color3DLUT 2018-04-12 11:54:54 +03:00
Alexander
70c453b857 rename alter() to transform()
add with_normals argument
docstring
2018-04-11 16:17:10 +03:00
Alexander
dcb37dd1f1 new method alter(); 3 times faster generate() 2018-04-11 16:15:10 +03:00
Hugo
215b0e0833
Merge pull request #3086 from radarhere/info
Change encoderinfo to have priority over info when saving GIF images
2018-04-11 15:23:19 +03:00
Andrew Murray
05c78a13e7 Changed encoderinfo to have priority over info when saving GIF images 2018-04-11 08:57:31 +10:00
Alexander
6958ce1700 Rename PIL.version to PIL._version and remove it from module 2018-04-09 16:09:36 +03:00
Alexander Karpinsky
e24fad40ad
Merge pull request #3056 from uploadcare/color-LUT
3D Color lookup tables
2018-04-09 10:41:44 +03:00
Hugo
0567a54cd7
Merge pull request #3057 from storesource/RotateImagewithColor
Enabling background colour parameter on rotate
2018-04-05 09:45:22 +01:00
Jon Dufresne
85ff61f4dc Remove unused Python class, Path
The class is always overridden by the C implementation. The Python
implementation is unused.
2018-04-03 20:57:30 -07:00
Eric Soroos
0b578f25d5 5.1.0 version bump 2018-04-02 10:23:36 +00:00
Alexander
4231038132 Remove unused imports 2018-04-01 19:52:39 +03:00
Alexander
912980c52f Remove Color3DLUT.from_cube_file from сore library 2018-03-31 19:56:09 +03:00
Alexander
805dc44707 improve color cube parser 2018-03-30 11:29:59 +03:00
Alexander
e304a0d501 add tests, fix error messages 2018-03-30 09:57:54 +03:00
Alexander
aa929dda98 from_cube_file + test 2018-03-30 02:02:37 +03:00
Alexander
7f0bbf52e3 Python3 fix 2018-03-29 17:37:00 +03:00
Alexander
622749530b Color3DLUT.generate 2018-03-29 17:26:21 +03:00
Alexander
506995d816 Tests for python API 2018-03-29 16:37:35 +03:00
Alexander
461a090405 Python interface 2018-03-29 14:40:34 +03:00
storesource
f358038968
modify comment 2018-03-27 19:03:35 +05:30
storesource
bca6c4384f
Added review Changes
Changed parameter name to fillcolor
Added full stop on param description
2018-03-27 19:01:33 +05:30
storesource
a42beccee7
Enabling background colour parameter on rotate
Enabling the user to choose the background colour of the final rotated image rather than just black. 
parameter added: backgroundcolor
2018-03-26 19:29:44 +05:30
wiredfool
0e9f07def9
Merge pull request #3042 from hugovk/3006-parser-feed
Fix TypeError for JPEG2000 parser feed
2018-03-21 07:56:23 +00:00
wiredfool
d173e81798
Merge pull request #3023 from kkopachev/issue-3022
Certain corrupted jpegs can result in no data read
2018-03-21 07:55:17 +00:00
wiredfool
f504cbe642
Merge pull request #3007 from jleclanche/feat/blp
Add support for BLP file format
2018-03-21 07:54:29 +00:00
wiredfool
c004b6beaa
Merge pull request #2998 from hugovk/simplify-version-checks
Simplify version checks
2018-03-21 07:50:51 +00:00
wiredfool
659824773b
Merge pull request #2996 from timgraham/invalid-escape
Fix "invalid escape sequence" warning on Python 3.6+
2018-03-21 07:50:34 +00:00
Andrew Murray
2123dd70fb Allow append_images to set .icns scaled images 2018-03-19 19:38:07 +11:00
Hugo
d61921455e Prevent TypeError for JPEG2000 parser feed 2018-03-18 11:13:33 +02:00
Hugo
ddc9e73b47
Merge pull request #2965 from vashek/master
Support appending to existing PDFs
2018-03-13 11:30:25 +02:00
Hugo
13767f045f Use named version attributes and simplify version checks 2018-03-12 10:35:29 +02:00
Andrew Murray
6af53a7303 Improved efficient saving by copying the saved image, instead of saving the same image twice 2018-03-11 22:14:49 +11:00
Andrew Murray
de80b8f36b Fixed efficient saving 2018-03-11 22:01:06 +11:00