Commit Graph

562 Commits

Author SHA1 Message Date
Hugo
68adce2dd1
Merge pull request #3691 from radarhere/dib
Added DIB saving and loading through Image open
2019-03-08 14:56:29 +02:00
Andrew Murray
58e60510e6
Merge pull request #3549 from radarhere/mimetype
Improved get_format_mimetype logic
2019-03-08 10:06:47 +11:00
Andrew Murray
b29365e8a0 Updated list of Unix utilities used to show an image [ci skip] 2019-03-07 15:24:27 +11:00
Glandos
5d8b14fc9e Cache EXIF information
In case we need to call _getexif from the outside, since it's already called while parsing.
cache the result in self.info. This is compatible with other file using _getexif, like WebP.
2019-03-06 22:05:48 +01:00
Hugo
2edab165a1 Since #2527, macOS saves to a temp PNG before showing 2019-03-06 15:57:58 +02:00
Andrew Murray
b1cc7df7ba Only close exclusive fp on Image __exit__ 2019-03-06 21:55:32 +11:00
Andrew Murray
1bdb5dc917 Added DIB saving and loading through Image open 2019-03-06 13:59:07 +11:00
Andrew Murray
636ad68f5e Read Photoshop resolution data 2019-03-06 10:28:45 +11:00
Andrew Murray
319d6f2af9 Restored newline at end of file 2019-03-06 08:06:19 +11:00
Andrew Murray
7d3b8e8cea
Merge branch 'master' into mime-types 2019-03-06 07:08:00 +11:00
Hugo
353d2a34ed
Update src/PIL/PpmImagePlugin.py
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2019-03-06 00:01:56 +11:00
pirate486743186
1d63703c54 removing dib extension 2019-03-04 15:05:14 +01:00
Andrew Murray
4be51c46eb Added mime types 2019-03-04 18:17:12 +11:00
pirate486743186
a62c825922 adding some missing mime types and extensions
for reference

https://en.wikipedia.org/wiki/BMP_file_format
https://en.wikipedia.org/wiki/ICO_(file_format)
https://en.wikipedia.org/wiki/Pcx
https://en.wikipedia.org/wiki/Netpbm_format
https://en.wikipedia.org/wiki/.tga
2019-03-04 15:44:39 +11:00
Hugo
571aca6610
Merge pull request #3685 from radarhere/file
Renamed file variable
2019-03-03 10:15:33 +02:00
Andrew Murray
525eaf7389 Renamed file variable 2019-03-03 13:02:00 +11:00
Frédéric Chapoton
e514fbbbb1
use the already import io
instead of importing again from io (lgtm suggestion)
2019-03-02 21:19:57 +01:00
Jon Dufresne
9296e4f3a2 Merge multiple isinstance() calls to one 2019-03-02 08:24:08 -08:00
Andrew Murray
57807e9ce2
Merge pull request #3624 from hugovk/rm-VERSION
Remove deprecated VERSION
2019-03-02 11:47:59 +11:00
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
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
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
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
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