Commit Graph

2554 Commits

Author SHA1 Message Date
Hugo
df6d429789
Merge pull request #3580 from jdufresne/bytes-warning
Fix 'BytesWarning: Comparison between bytes and string' in PdfDict
2019-02-27 23:38:45 +02:00
Hugo
d9f5f44799
Merge pull request #3632 from radarhere/thumbnail
Do not resize in Image.thumbnail if already the destination size
2019-02-27 23:37:20 +02:00
Hugo
b75210d824
Merge pull request #3572 from jdufresne/seek-constants
Replace .seek() magic numbers with io.SEEK_* constants
2019-02-27 23:30:27 +02:00
Hugo
2e374cf1ad
Merge pull request #3568 from jdufresne/isatty-bool
Make ContainerIO.isatty() return a bool, not int
2019-02-27 23:28:51 +02:00
Hugo
2f5f80f47e
Merge pull request #3563 from radarhere/transpose
Added support for I;16 modes for more transpose operations
2019-02-27 23:22:52 +02:00
Andrew Murray
148d320b40 Added reading of uncompressed RGB data 2019-02-23 06:44:06 +11:00
Andrew Murray
dd0e4ac0a1 Corrected length of Tiff BYTE tags 2019-02-22 23:17:26 +11:00
Hugo
d167f9e0bd
Merge pull request #3669 from radarhere/typo
Fixed typo
2019-02-21 18:24:15 +02:00
Andrew Murray
7477036230
Merge branch 'master' into imagecms-deprecations 2019-02-21 20:00:27 +11:00
Andrew Murray
5d9898b686
Merge pull request #3655 from hugovk/deprecate-eol-qt
Deprecate support for PyQt4 and PySide
2019-02-21 19:22:34 +11:00
Hugo
cf08e21141
Merge pull request #3667 from radarhere/tifftags
Use constants for TIFF tag types
2019-02-20 22:29:21 +02:00
Hugo
78b7038a9b
Merge pull request #3555 from cgohlke/patch-1
Add TIFF compression codecs: LZMA, Zstd, WebP
2019-02-20 11:51:33 +02:00
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
b20cbe5299
Merge pull request #3609 from cgohlke/patch-2
Fix possible integer overflow
2019-02-03 11:49:35 +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
Hugo
e7eac4f80b Add warnings to deprecated CMS profile attributes 2019-01-28 15:40:19 +02:00
Hugo
80f69ad32e Convert tabs to spaces 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
cgohlke
86afcfd8f9
Fix possible integer overflow 2019-01-25 15:11:22 -08: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
Andrew Murray
7acaf3d6a6 Added support for I;16 modes for more transpose operations 2019-01-10 07:26:52 +11: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
Hugo
0f09274690 Remove more unused hashtable functions 2019-01-05 22:26:35 +02:00
Andrew Murray
4c0e32ccf2 Improved get_format_mimetype logic 2019-01-06 07:00:00 +11:00
Hugo
f0778ba594 Remove unused hashtable destroy functions 2019-01-05 21:07:11 +02: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
55e5b7de6c
Merge pull request #3393 from frenzymadness/CWE_fixes_master
Fixes for issues reported by static code analysis
2018-12-26 13:02:19 +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
Andrew Murray
49b23157c4 Include header 2018-12-13 19:18:17 +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
d8e66c1882 Moved variable declaration and execution 2018-11-12 06:14:04 +11:00
Hugo
8d6347ab72 Changed array size to be arbitrary
Co-Authored-By: radarhere <radarhere@gmail.com>
2018-11-12 06:14:04 +11:00
Hugo
207ed04d87 Removed hardcoded array size
Co-Authored-By: radarhere <radarhere@gmail.com>
2018-11-12 06:14:04 +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
Konstantin Kopachev
28cdb993b9
Convert tabs into spaces [ci skip] 2018-10-19 11:43:22 -07:00
Andrew Murray
e84a78d828 Only close existing fp if fp is exclusive 2018-10-19 20:12:08 +11:00
Konstantin Kopachev
2bf3ceee85
Only ask for YCbCr->RGB libtiff conversion for jpeg-compressed tiffs
JPEG-related tiff pseudo-tags are registered only when tiff image has jpeg compression. Trying to set TIFFTAG_JPEGCOLORMODE on non jpeg-compressed file prints error "Unknown pseudo-tag 65538".
2018-10-18 21:27:51 -07: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
Lumir Balhar
78bf8ea041 Fix potential leaked storage issues (CWE-772) 2018-10-02 14:06:21 +02:00
Lumir Balhar
2e288e74ab Fix potential un-terminated buffer problem (CWE-120) 2018-10-02 14:06:08 +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
799133b3a4
Merge pull request #3388 from hugovk/andreas-schwab/master
Avoid undefined behaviour due to division by zero
2018-09-29 22:49:44 +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
9a0b960762 Re-use count variable 2018-09-29 19:23:49 +03:00
Andreas Schwab
8b34eb644f Avoid undefined behaviour due to division by zero 2018-09-29 19:23:49 +03:00
Hugo
e2deb07608
Merge pull request #3274 from radarhere/pdf
Improve PDF document info
2018-09-29 17:43:05 +03:00
Hugo
0c71792818
Merge pull request #3251 from radarhere/conversion
Fixed implicit conversion warnings
2018-09-29 17:38:11 +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
d6d61b35dc Only draw pieslice's inner lines once 2018-09-29 21:45:37 +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
83d40f52b3
Merge pull request #3359 from bz2/i16_getextrema
Give correct extrema for I;16 format images
2018-09-26 13:17:31 +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
Konstantin Kopachev
300bdaad9e
Bring back YCbCrX in pack and unpack 2018-09-25 11:46:32 -07: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
c2ac4604bc
move variable declaration 2018-09-18 12:05:50 -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
Martin Packman
0b3036454c Give correct extrema for I;16 format images
Currently gives None for a 16 bit greyscale image rather than the
true min and max values in the 0-65536 range. The internal
ImagingGetProjection function already supports I;16 but the
_getextrema needs to know to unpack the result.
2018-09-18 13:48:12 +01: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
Andrew Murray
558e70d8cd Removed less than condition 2018-09-09 13:57:01 +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
Hugo
fbe5bdb6b6 Also apply width to pieslice's inner lines 2018-09-01 14:40:36 +03: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
fda3db6494
Merge pull request #3273 from radarhere/imagefilter
Changed Kernel to subclass BuiltinFilter
2018-09-01 09:45:43 +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
Hugo
3cf6ad1895 Remove ununsed font_getabc 2018-08-25 18:56:50 +03:00
Hugo
6fc1e79e96 Remove ununsed draw_point. Only draw_points is used by ImageDraw.py 2018-08-25 18:56:50 +03:00
Hugo
bdf2705cd3 Remove ununsed draw_line. Only draw_lines is used by ImageDraw.py 2018-08-25 18:56:50 +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
f0a5946c6e Fixed implicit conversion warnings 2018-08-25 00:54:29 +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
Alexander Karpinsky
90a94e7dae
Merge pull request #3219 from DerDakon/invalid-free
Avoid invalid free if out of memory
2018-07-22 17:06:35 +03:00
Hugo
f70f952f85
Merge branch 'master' into add-width-to-shapes 2018-07-14 14:58:48 +03:00
Andrew Murray
448beaa9aa Improved wording [ci skip] 2018-07-12 19:48:59 +10: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
Rolf Eike Beer
b565f45d77 avoid invalid free if out of memory
The surrounding code suggests this should only be freed if it was allocated
locally.
2018-07-04 20:40:12 +02: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
241ea6b283
Merge pull request #3196 from tkoeppe/avg_fix
[QuantOctree.c] Remove erroneous attempt to average over an empty range
2018-07-01 21:45:46 +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
bc192c6cfe
Merge pull request #3142 from radarhere/ellipse
Changed ellipse point calculations to be more evenly distributed
2018-07-01 08:44:17 +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
Hugo
52e3ecb5e1
Merge pull request #3075 from hugovk/rm-if-0
Remove unnecessary '#if 0' code
2018-07-01 07:48:12 +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
Hugo
9cd9344dca
Merge pull request #3207 from radarhere/typo
Fixed typo
2018-06-30 10:59:47 +03:00
Andrew Murray
d9653a48c7 Added file handling links in documentation 2018-06-30 16:44:59 +10:00
Andrew Murray
3a70f4b8fc Fixed typo 2018-06-26 22:07:40 +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
Thomas Köppe
6c0d1e0f15 [QuantOctree.c] Remove erroneous attempt to average over an empty range. 2018-06-21 12:45:54 +01: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
8d8d00f304 Changed ellipse point calculations to be more evenly distributed 2018-05-27 15:32:22 +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
Alexander
997e554593 Revert ValueErrors to RuntimeErrors in ImageMorph module 2018-04-22 20:52:38 +03:00
Alexander Karpinsky
dddeecc945
Merge pull request #3055 from uploadcare/imagemorph-type-check
Fix incorrect image type checking in _imagingmorph module
2018-04-22 20:10:34 +03:00
Alexander
101c095e99 Add tests for wrong types 2018-04-22 19:51:57 +03: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
57c7a51b51 Renamed CLIP to CLIP8 2018-04-21 18:14:05 +10:00
Andrew Murray
99dcc57720 Moved CLIP definitions into ImagingUtils.h 2018-04-21 16:35:58 +10:00
Andrew Murray
eebe3ea923 Corrected undefined behaviour 2018-04-21 13:42:39 +10: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
d117026511 fix float16tofloat32 2018-04-15 01:46:26 +03:00
Alexander
4c983674c0 avoid compilation varnings 2018-04-15 01:20:57 +03:00
Alexander
497e9d8251 full buffer support 2018-04-15 00:33:15 +03:00
Alexander
2c87242027 Support for many many LUT source on C level 2018-04-14 23:12:28 +03: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
aba478abba Raise error if it is occurred during conversion in getlist 2018-04-14 17:13:05 +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
Alexander Karpinsky
096a81b7fd
Merge pull request #3083 from uploadcare/versions-cleanup
Rename PIL.version to PIL._version and remove it from module
2018-04-11 15:05:27 +03:00
Andrew Murray
032027303f Fixed typo 2018-04-11 13:46:42 +10: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
429c4bf30a Remove unnecessary '#if 0' code 2018-04-05 12:20:21 +03:00
Hugo
e25df9d65f Tabs to spaces, no other changes 2018-04-05 12:02:19 +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
Hugo
9b10bc8bd2
Merge pull request #3072 from jdufresne/if1
Remove unnecessary `#if 1` directive
2018-04-05 09:44:00 +01:00
Hugo
5869c28346
Merge pull request #3070 from jdufresne/unused
Remove unused Python class, Path
2018-04-05 09:39:04 +01:00
Jon Dufresne
b56fe11086 Remove unnecessary #if 1 directive
The preprocessor directive `#if 1` always evaluates as true, so the
enclosed code is always compiled.

The directive has existed since the original fork from PIL,
9a640e3157.
2018-04-04 05:30:05 -07: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
Jon Dufresne
e705cd1476 Fix dereferencing type-punned pointer will break strict-aliasing
Compiler warning appeared as:

src/path.c:574:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
                      Py_TYPE(&item)->tp_name);
                      ^~~~~~~

As item is already of type PyObject*, and the Py_TYPE macro is
equivalent to (((PyObject*)(o))->ob_type), no need for the dereference.

https://docs.python.org/3/c-api/structures.html#c.Py_TYPE
2018-04-03 20:42:03 -07:00
Alexander
79ed02b8f4 Fix _i2f compilation on some GCC versions 2018-04-02 17:10:51 +03: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
Kathryn Davies
8f6be2ee7d Move location of fclose and add dump test. 2018-03-31 21:28:37 -07:00
Alexander
912980c52f Remove Color3DLUT.from_cube_file from сore library 2018-03-31 19:56:09 +03:00
Alexander
76d467245d Release GIL 2018-03-31 09:52:05 +03:00
Kathryn Davies
147f835146 Fix a resource leak: close fp before return (found by cppcheck) 2018-03-30 15:42:56 -07: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
d2a5d1e44d Add tests for some cases and fix bugs 2018-03-29 23:56:51 +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
Alexander
71f643e1ea doesn't affect accuracy, but a bit faster 2018-03-29 11:57:37 +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
Alexander
838a5cffe7 more tests and fixed bug for interpolate4 2018-03-26 23:17:17 +03:00
Alexander
5227c30561 typos 2018-03-26 22:33:22 +03:00
Alexander
5f0b7ee73e More tests 2018-03-26 22:30:55 +03:00
Alexander
78d16d30c4 share clip8_lookups table between Resample and ColorLUT 2018-03-26 18:02:08 +03:00
Alexander
df192fff1e one function table_index3D 2018-03-26 17:41:25 +03:00
Alexander
845f4dbfe1 update comment 2018-03-26 17:34:56 +03:00
Alexander
3a5f0201f5 pure FPI implementation 2018-03-26 17:23:14 +03:00
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
Alexander
23827d5250 3D to 4D implementation 2018-03-26 14:18:17 +03:00
Alexander
696ae12b37 3D to 3D implementation 2018-03-26 14:14:52 +03:00
Alexander
d2d546d4ae Python to C bridge 2018-03-26 11:26:51 +03:00
Alexander
853208c65f color 3D LUT, just start 2018-03-25 15:49:42 +03:00
Alexander
f826dc37d1 Fix incorrect image type checking in _imagingmorph module 2018-03-25 12:54:13 +03:00
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
Hugo
b9f688301a
Merge pull request #3026 from radarhere/health
Health fixes
2018-03-10 08:56:53 +02:00
Andrew Murray
c7427ae7f6 Fixed typos [ci skip] 2018-03-10 14:48:01 +11:00
Konstantin Kopachev
1e9e64c8b0
Move jpeg-specific eof-processing to jpeg plugin 2018-03-06 22:52:08 -08:00
wiredfool
3a77758d9a Convert BlpImagePlugin to use Pydecoder framework 2018-03-06 18:16:26 +02:00
Jerome Leclanche
73d7fff16e blp: Separate BLP1 and BLP2 decoding more cleanly 2018-03-06 18:16:26 +02:00
Jerome Leclanche
fcba3583c3 blp: Simplify dxt1/dxt3/dxt5 decoding 2018-03-06 18:16:26 +02:00
Jerome Leclanche
adaa703576 Add support for BLP file format 2018-03-06 18:16:26 +02:00
Andrew Murray
c13ccf13a1 Added missing whitespace 2018-03-06 19:53:07 +11:00
Andrew Murray
f22f1628eb At least two spaces before inline comment 2018-03-04 21:36:33 +11:00
Andrew Murray
2202196162 Flake8 blank line fixes 2018-03-04 21:36:33 +11:00
Andrew Murray
45352662bb Removed unused variable 2018-03-04 21:36:33 +11:00
Andrew Murray
6930d871eb Removed unused import 2018-03-04 21:36:33 +11:00
Dvořák Václav
24ecfe315a issue #2959: fix wrong Parent of pre-existing Page objects when appending 2018-03-03 23:32:47 +01:00
Dvořák Václav
113d67214c issue #2959: change asserts into raises 2018-03-03 21:08:20 +01:00
Konstantin Kopachev
add2746ac6
Certain corrupted jpegs can result in no data read
On truncated jpeg, decoder can suspend waiting for additional bytes in
buffer. For some input files, decoder suspends on jpeg_start_decompress
stage. If at this point file reader reaches EOF, py code never gets back
to jpeg decoder and we end up with no bytes to result image. This leaves
us with some amount of potentially useful bytes undecoded and thrown
away.
Libjpeg docs suggest that in such situation, more appropriate would be
to add EOI marker to the end of buffer, which will allows decoder
to finish. https://github.com/libjpeg-turbo/libjpeg-turbo/blob/0dd9a2c1fd6c/libjpeg.txt#L1803-L1809
Docs also mention that adding EOI markers is what non-suspending code
does anyway.
2018-02-28 22:15:58 -08:00
Hugo
4936b447f0
Merge pull request #2985 from Metallicow/trim-trailing-space
Trim trailing whitespace
2018-02-27 12:00:15 +02:00
Tim Graham
eb5c52cb17 Fix "invalid escape sequence" warning on Python 3.6+ 2018-02-05 13:53:45 -05:00
Dvořák Václav
c15a0b2fce issue #2959: rename pdfParser.py to PdfParser.py 2018-01-31 00:35:55 +01:00
Dvořák Václav
9be8d669f9 issue #2959: changes based on @hugovk's review 2018-01-31 00:25:04 +01:00
Andrew Murray
aa0ee9feab Rearranged classes into alphabetical order 2018-01-30 20:13:51 +11:00
Metallicow
22a59ac839 Trim trailing whitespace src dir 2018-01-27 00:02:56 -06:00
Andrew Murray
d212808e3d Fixed typo 2018-01-27 16:19:02 +11:00
Dvořák Václav
ede57b91e0 issue #2959: keep file open, add context manager, add methods to support writing, eliminate the passing of file or buffer 2018-01-26 19:07:43 +01:00
Dvořák Václav
78fe32a431 issue #2959: support streams, add some tests 2018-01-26 17:15:38 +01:00
Dvořák Václav
971837cc00 issue #2959: another Py2 bugfix 2018-01-26 16:12:39 +01:00
Dvořák Václav
524addc499 issue #2959: argh, do we really need to support Python 2.x? ;-) 2018-01-26 15:32:54 +01:00
Dvořák Václav
51bed10d4e issue #2959: oops, hopefully fix Python 2.x 2018-01-26 14:54:49 +01:00
Dvořák Václav
53ce9ec4fb issue #2959: fix PdfDict attribute access, text decoding, tests 2018-01-26 13:42:11 +01:00
Dvořák Václav
4d3b13fb08 issue #2959: improve Info setting and dumping 2018-01-26 12:11:10 +01:00
Andrew Murray
c255948860 Fixed typo 2018-01-26 16:52:07 +11:00
Hugo
797d67b9a3
Merge pull request #2974 from wiredfool/webp_leak
Fix memory leak when opening webp files
2018-01-25 10:51:23 +02:00
Dvořák Václav
95f5c8d4ff issue #2959: move pdfParser self tests to Tests directory 2018-01-25 01:12:32 +01:00
Dvořák Václav
84f87471f5 issue #2959: support io.BytesIO objects 2018-01-25 00:44:59 +01:00
Dvořák Václav
13fe1a5ba7 issue #2959: text string decoding, support for Info dict, updated tests 2018-01-25 00:20:18 +01:00
Dvořák Václav
991f832d91 issue #2959: change Py3 detection, fix trailer location for some PDFs 2018-01-24 22:45:37 +01:00
Eric Soroos
0da68dee98 Fix leak opening _webp files 2018-01-24 13:22:51 +00:00
wiredfool
9a19858fb7
Merge pull request #2938 from uploadcare/tiff-with-optional-channels
Tiff with optional channels
2018-01-24 11:10:18 +00:00
wiredfool
d6973ff50f
Merge pull request #2942 from radarhere/imagecms_remove_main
Removed __main__ code from ImageCms
2018-01-24 10:55:59 +00:00
Andrew Murray
25e72d5856 Fixed typos 2018-01-24 21:54:16 +11:00
Dvořák Václav
a187a361cb issue #2959: add tests and fixes, text encoding, remove remnants of text writing from PdfImagePlugin 2018-01-24 02:28:39 +01:00
Dvořák Václav
65112bad7e issue #2959: fix Python 3.4 not supporting bytes%tuple 2018-01-22 16:39:08 +01:00
Dvořák Václav
6207b44ab1 issue #2959: support appending to existing PDFs 2018-01-18 14:33:11 +01:00
Andrew Murray
1aefc90cb0 Removed __main__ code 2018-01-13 16:41:01 +11:00
Hugo
8f88d6b60a Only extract first Exif segment 2018-01-10 16:00:10 +02:00
Alexander
dc127273f4 Add RGBXX RGBXXX YCbCrXX YCbCrXXX rawmodes for TIFFs 2018-01-07 17:23:05 +03:00
Alexander
1f4fd49a80 unpack CMYK TIFFs optional channels 2018-01-07 17:23:05 +03:00
Hugo
e92e730597
Merge pull request #2935 from wiredfool/crc
Remove _imaging.crc32 in favor or builtin python crc32 implementation
2018-01-06 20:43:35 +02:00
Andrew Murray
696b3819e8 Combined two excerpt statements 2018-01-06 21:58:05 +11:00
Andrew Murray
b7aab522e1 Added syntax print statements 2018-01-06 21:57:29 +11:00
Andrew Murray
3c73043509 Simplified use of sys.argv 2018-01-06 21:57:29 +11:00
Andrew Murray
59b9d1dc46 Simplified Image.open call 2018-01-06 21:57:29 +11:00
Eric Soroos
4bc33d3e4a Remove _imaging.crc32 in favor or builtin python crc32 implementation 2018-01-05 15:53:50 +00:00
wiredfool
276bb42a62
Merge pull request #2928 from hugovk/mv-tk-to-src
Move Tk directory to src directory
2018-01-05 10:36:07 +00:00
Andrew Murray
4e69b9c553 Skip outline if the draw operation fills with the same colour 2018-01-05 10:59:24 +11:00
Hugo
3916563a1b Move Tk files to src 2018-01-04 09:33:10 +02:00
Andrew Murray
62b2bdf909 Removed unused imports 2018-01-04 14:56:18 +11:00
Andrew Murray
dc5e280785 5.1.0.dev0 version bump 2018-01-02 12:22:22 +11:00
wiredfool
e5bd7eb623 5.0.0 Version Bump 2018-01-01 15:03:06 +00:00
Andrew Murray
6c61de97ad Added GD tests 2017-12-30 19:31:33 +11:00
Andrew Murray
e0c6ca9b61 Corrected info key 2017-12-30 19:31:33 +11:00
Andrew Murray
07a86bacc9 Removed duplicate code 2017-12-30 19:31:33 +11:00
wiredfool
ef5bab99b5 fixed merge 2017-12-28 16:07:18 +00:00
wiredfool
0bb3f4fee9 source layout reorg 2017-12-28 14:49:47 +00:00