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
Andrew Murray
1ba774ae7f
Added ImageOps exif_transpose method
2019-03-04 11:49: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
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