Commit Graph

1537 Commits

Author SHA1 Message Date
Alexander
222c2f6978 Merge branch 'master' into reduce-in-resize 2019-12-27 15:13:19 +03:00
Alexander Karpinsky
5f69035865
Merge pull request #4251 from uploadcare/reduce
Reduce operation
2019-12-27 15:11:47 +03:00
Alexander
fc0248869c wording 2019-12-27 14:27:37 +03:00
Andrew Murray
e446b58317 Lint fix 2019-12-26 20:21:16 +11:00
Andrew Murray
996f552f32
Highlight class name
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-12-26 19:55:10 +11:00
Andrew Murray
c99257abb4
Updated error string
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-12-26 19:54:28 +11:00
Andrew Murray
fedb0407b4 Raise ValueError for io.StringIO in Image.open 2019-12-26 18:53:06 +11:00
Andrew Murray
ca0209d194 Updated exception documentation [ci skip] 2019-12-26 13:16:49 +11:00
Hugo van Kemenade
0fe6955da5
Removed duplicate line (#4291)
Removed duplicate line
2019-12-25 14:55:25 +02:00
Alexander
d719aafecb Merge branch 'reduce' into reduce-in-resize
# Conflicts:
#	docs/releasenotes/7.0.0.rst
2019-12-25 15:45:17 +03:00
Alexander
dda5558129 Merge branch 'master' into reduce 2019-12-25 15:42:47 +03:00
Alexander Karpinsky
b5d06baa5f
Merge pull request #4231 from uploadcare/box-in-thumbnail
Fix thumbnail geometry when DCT scaling is used
2019-12-25 15:41:40 +03:00
Andrew Murray
ee30fe1b39
Merge pull request #4147 from beipang2/issue_4146
Use default DPI when exif provides invalid x_resolution
2019-12-25 20:26:27 +11:00
Andrew Murray
1740a1f20e Ensure tempfile is unlinked 2019-12-25 15:22:54 +11:00
Andrew Murray
c35fb6fb67
Merge branch 'master' into box-in-thumbnail 2019-12-24 18:18:34 +11:00
Andrew Murray
74a8034644 Updated draft documentation [ci skip] 2019-12-24 14:50:53 +11:00
Andrew Murray
6480d57c1f Removed duplicate line 2019-12-24 08:33:04 +11:00
Hugo
6a43ea86ea Merge remote-tracking branch 'upstream/master' into doctest-turn-warnings-into-errors 2019-12-21 15:52:59 +02:00
Hugo
113477fbee Fix unexpected unindents 2019-12-21 14:05:50 +02:00
Alexander
59f8eeb290 add release notes 2019-12-21 03:16:42 +03:00
Andrew Murray
4580b156b7 Raise an error if BMP file size is too large when saving 2019-12-21 08:37:40 +11:00
Andrew Murray
ce62dca326 Aligned comments correctly 2019-12-21 08:15:48 +11:00
Alexander
fc28182040 fix formatting 2019-12-20 20:42:00 +03:00
Alexander
8181aed77f Merge branch 'reduce' into reduce-in-resize
# Conflicts:
#	docs/releasenotes/7.0.0.rst
#	src/PIL/Image.py
2019-12-20 20:27:11 +03:00
Alexander
d41f2713b6 Merge branch 'master' into reduce 2019-12-20 20:22:36 +03:00
Alexander
b48996c213 rename max_reduce to reducing_gap 2019-12-20 14:59:18 +03:00
Alexander
b85c610a03 Use box for reduce 2019-12-20 14:54:06 +03:00
Alexander
b112e55070 Merge branch 'master' into box-in-thumbnail
# Conflicts:
#	docs/releasenotes/7.0.0.rst
2019-12-19 16:36:37 +03:00
Alexander Karpinsky
6d75a673b6
Merge pull request #4255 from uploadcare/default-resample-filter
Change default resize resampling filter from NEAREST to BICUBIC
2019-12-19 16:33:34 +03:00
Alexander Karpinsky
c82d2629d7
Merge pull request #4278 from uploadcare/fox-filter-black-lines
Define box filter equal 1.0 on (-0.5, 0.5] range instead of [-0.5, 0.5)
2019-12-19 03:26:17 +03:00
Alexander
5b53b0489b Define box filter equal 1.0 on (-0.5, 0.5] range instead of [-0.5, 0.5) 2019-12-19 03:01:02 +03:00
Alexander
cdd1253211 notes fixes
skip-checks: true
2019-12-18 01:09:54 +03:00
Alexander
4da9858709 change default resampling filter for ImageOps.pad(), ImageOps.scale() and ImageOps.fit() 2019-12-17 18:15:02 +03:00
Alexander
fa9e85cd1f max_reduce arguments in resize and thumbnail 2019-12-17 03:01:51 +03:00
Alexander
2db5406626 Merge branch 'box-in-thumbnail' into reduce-in-resize-2 2019-12-17 02:27:44 +03:00
Alexander
ea9c6e9fe1 Merge branch 'master' into reduce 2019-12-17 02:26:05 +03:00
Alexander
a027897f74 Merge branch 'master' into box-in-thumbnail
# Conflicts:
#	Tests/test_image_thumbnail.py
2019-12-17 00:42:29 +03:00
Andrew Murray
c7bef264bc Allow thumbnail to accept non-integer size arguments 2019-12-17 06:05:36 +11:00
Alexander
791d1a2846 Better thumbnail aspect ratio preservation 2019-12-07 20:07:27 +03:00
Alexander
ac92836e81 Change default resize resampling filter 2019-12-07 18:08:19 +03:00
Alexander
e54b9b3720 turn on ImagingReduce5x5 special case 2019-12-05 22:13:25 +03:00
Alexander
5283141417 Merge branch 'master' into reduce 2019-12-05 14:23:28 +03:00
Alexander
5838d77c0e args test 2019-12-05 03:24:38 +03:00
Alexander
b23625172f add box parameter to all optimized versions 2019-12-05 00:47:15 +03:00
Alexander
778b5f9fed add box parameter 2019-12-04 23:13:20 +03:00
Alexander
cc30b1e55a Add La mode packing and unpacking 2019-12-04 22:58:09 +03:00
Alexander
a4a6a9e83a Add La mode packing and unpacking 2019-12-04 22:47:15 +03:00
Alexander
d92c58fa7f I mode support 2019-12-01 22:52:43 +03:00
Alexander
a576b14056 F mode support 2019-12-01 22:28:16 +03:00
Alexander Karpinsky
d970a39840 Special cases:
ImagingReduce1x2, ImagingReduce1x3, ImagingReduce2x1, ImagingReduce3x1
2019-12-01 21:41:15 +03:00
Alexander
1d1f3be27a unsupported modes 2019-12-01 20:34:05 +03:00
Alexander
008c1c88e2 L mode support 2019-12-01 20:33:48 +03:00
Alexander
f72d5c0dfd better branches 2019-12-01 14:38:21 +03:00
Andrew Murray
2d7cfc4bbc
Merge pull request #4239 from radarhere/photoshop
Handle broken Photoshop data
2019-12-01 07:33:26 +11:00
Alexander
4e092153fc add release notes 2019-11-30 18:17:10 +03:00
Andrew Murray
08cad40002
Merge pull request #4181 from pwohlhart/patch-1
Better error messaging in PIL.Image.fromarray
2019-11-30 21:12:05 +11:00
Andrew Murray
47b2ae9a63 Raise a specific exception if no data is found for an MPO frame 2019-11-30 11:05:36 +11:00
Andrew Murray
e51be50549 Handle broken Photoshop data 2019-11-30 10:08:32 +11:00
Alexander
8b6ad4a471 tests for supported modes 2019-11-26 03:39:57 +03:00
Alexander
7e978ae542 ImagingReduceCorners 2019-11-26 02:45:13 +03:00
Alexander
fba833e1f4 final set of special cases 2019-11-26 01:18:48 +03:00
Alexander
e6c305511e more special 2019-11-25 05:16:03 +03:00
Alexander
ab25d9f4b5 good balance 2019-11-25 04:20:31 +03:00
Alexander
01094a9649 naive implementation 2019-11-24 17:40:05 +03:00
Alexander
335f5431de dummy method 2019-11-24 17:39:49 +03:00
Alexander
e234445682 linter fixes 2019-11-24 15:32:45 +03:00
Hugo van Kemenade
8626762024
Merge pull request #4174 from mixmastamyk/patch-1
Fix mismatched function name, add explanation
2019-11-24 13:54:22 +02:00
Hugo van Kemenade
37be3b0dda
Merge pull request #4145 from nulano/ucs4-pypy
Fix Unicode support for PyPy
2019-11-24 13:51:27 +02:00
Alexander
fd21de7dc4 Merge branch 'refs/heads/master' into box-in-thumbnail
# Conflicts:
#	Tests/test_image_thumbnail.py
2019-11-24 05:27:13 +03:00
Alexander
375556ffb5 use a box from draft in thumbnail 2019-11-24 05:24:00 +03:00
Alexander
4126f6cdf7 return chosen image mode and the box of the image 2019-11-24 04:55:49 +03:00
Alexander
2d1482b400 minor fixes related to draft 2019-11-24 04:33:34 +03:00
Andrew Murray
e773980961 Updated URL [ci skip] 2019-11-22 10:12:52 +11:00
nulano
64317f8885 raqm now works with PyPy on Windows 2019-11-20 17:02:44 +00:00
nulano
837d8ae984 fix support for extended unicode characters in PyPy 2019-11-20 17:02:44 +00:00
Hugo van Kemenade
a949d7882e
Merge branch 'master' into rm-2.7 2019-11-20 10:26:55 +02:00
Andrew Murray
40f891dfd7 Added UnidentifiedImageError 2019-11-19 21:20:02 +11:00
Hugo
e5486b40f8 Merge remote-tracking branch 'upstream/master' into rm-2.7 2019-11-18 13:56:42 +02:00
Andrew Murray
29c0a2fa6e
Merge pull request #4197 from hugovk/rm-plugins-__version__
Remove deprecated __version__ from plugins
2019-11-18 22:07:54 +11:00
Hugo van Kemenade
f81c829e04
Update word order
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2019-11-18 12:07:02 +02:00
Hugo
12a725988e Merge remote-tracking branch 'upstream/master' into rm-2.7 2019-11-16 17:10:10 +02:00
Hugo van Kemenade
3134e5cd47
Merge pull request #4105 from radarhere/ifd
IFDRational init cleanup
2019-11-13 20:30:35 +02:00
Hugo van Kemenade
b64d96d414
Merge pull request #4116 from radarhere/memory
Fixed freeing unallocated pointer when resizing with height too large
2019-11-13 20:29:09 +02:00
Hugo van Kemenade
54e57768ab
Merge pull request #4128 from radarhere/info
Copy info in Image.transform
2019-11-13 20:27:51 +02:00
Hugo van Kemenade
ce18064b20
Merge pull request #4171 from radarhere/gamma
Corrected DdsImagePlugin setting info gamma
2019-11-13 20:26:03 +02:00
Hugo
0c5895470c Remove deprecated __version__ from plugins 2019-11-05 17:01:03 +02:00
Hugo van Kemenade
24b8501d4b
Remove handling for pre-3.3 wide/narrow builds 2019-11-04 00:32:33 +02:00
Hugo van Kemenade
5006401d0b
Merge branch 'master' into rm-2.7 2019-11-03 22:48:26 +02:00
Jon Dufresne
4483642e45 Reuse deferred_error instead of _imaging_not_installed
deferred_error is a general implementation of _imaging_not_installed.
Can reuse rather than repeating the same logic.
2019-11-03 08:29:17 -08:00
Hugo
58e6d127b7 In Python 3, 'next' is renamed to '__next__' 2019-11-03 16:02:08 +02:00
Hugo van Kemenade
6060ed3d14
Merge pull request #4091 from nulano/libimagequant-features
Add libimagequant to features.py
2019-11-02 21:31:09 +02:00
Hugo
6f88d8dd6b black --target-version py35 2019-11-02 20:02:07 +02:00
Andrew Murray
b0eb5e18b1
Merge pull request #4160 from cgohlke/patch-1
Fix segfault: do not destroy glyph while its bitmap is used
2019-11-02 13:32:33 +11:00
Hugo
cc63f66575 Merge remote-tracking branch 'upstream/master' into rm-2.7 2019-11-01 13:22:56 +02:00
Andrew Murray
a2225ae961 Employ same condition used to set glyph 2019-11-01 21:34:38 +11:00
Hugo van Kemenade
2cf510e596
Improve handling of file resources (#3577)
Improve handling of file resources
2019-11-01 12:07:53 +02:00
Andrew Murray
b65fcb280a Copy info in transform 2019-10-30 22:14:01 +11:00
Andrew Murray
d716278d20 Corrected DdsImagePlugin setting info gamma 2019-10-30 22:13:06 +11:00
Andrew Murray
887a7e503c Only assign once 2019-10-30 22:10:38 +11:00
Andrew Murray
290189596e Removed redundant return 2019-10-30 22:10:38 +11:00
Andrew Murray
511aed922a Fixed freeing unallocated pointer when resizing with height too large 2019-10-30 22:09:28 +11:00
Andrew Murray
9b20276c45 Allow for arr KeyError 2019-10-30 07:23:08 +11:00
pwohlhart
47691906df
Better error messaging in PIL.image.fromarray 2019-10-29 10:12:03 -07:00
Andrew Murray
d9845c14c8 Lint fixes 2019-10-29 22:42:34 +11:00
Bei Pang
f53b86b673 Removed TypeError exception check in JpegImagePlugin; Updated comments in test 2019-10-28 09:48:37 -07:00
mixmastamyk
204803917c
Fix mismatched name, add explanation.
Mention why this information is not available in the EXIF tag specified for this purpose.
2019-10-27 23:36:33 -07:00
Bei Pang
a2b0269167 Added comment to ValueError 2019-10-27 07:50:30 +11:00
Bei Pang
bcc766e02d Use default DPI when exif provides invalid x_resolution 2019-10-27 07:50:30 +11:00
Hugo van Kemenade
40133cfc74
Merge branch 'master' into rm-2.7 2019-10-26 09:07:44 +03:00
Jon Dufresne
cae17eb927 Use more Pythonic super() instead of referencing parent class
https://rhettinger.wordpress.com/2011/05/26/super-considered-super/
2019-10-22 06:54:58 -07:00
Christoph Gohlke
2694564d08
Do not destroy glyph while its bitmap is used 2019-10-21 14:47:51 -07:00
Hugo
3dac6e2c62 Replace ImageShow.which() with stdlib
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-12 21:40:11 +03:00
Jon Dufresne
4cd4adddc3 Improve handling of file resources
Follow Python's file object semantics. User code is responsible for
closing resources (usually through a context manager) in a deterministic
way.

To achieve this, remove __del__ functions. These functions used to
closed open file handlers in an attempt to silence Python
ResourceWarnings. However, using __del__ has the following drawbacks:

- __del__ isn't called until the object's reference count reaches 0.
  Therefore, resource handlers remain open or in use longer than
  necessary.

- The __del__ method isn't guaranteed to execute on system exit. See the
  Python documentation:

  https://docs.python.org/3/reference/datamodel.html#object.__del__

  > It is not guaranteed that __del__() methods are called for objects
  > that still exist when the interpreter exits.

- Exceptions that occur inside __del__ are ignored instead of raised.
  This has the potential of hiding bugs. This is also in the Python
  documentation:

  > Warning: Due to the precarious circumstances under which __del__()
  > methods are invoked, exceptions that occur during their execution
  > are ignored, and a warning is printed to sys.stderr instead.

Instead, always close resource handlers when they are no longer in use.
This will close the file handler at a specified point in the user's code
and not wait until the interpreter chooses to. It is always guaranteed
to run. And, if an exception occurs while closing the file handler, the
bug will not be ignored.

Now, when code receives a ResourceWarning, it will highlight an area
that is mishandling resources. It should not simply be silenced, but
fixed by closing resources with a context manager.

All warnings that were emitted during tests have been cleaned up. To
enable warnings, I passed the `-Wa` CLI option to Python. This exposed
some mishandling of resources in ImageFile.__init__() and
SpiderImagePlugin.loadImageSeries(), they too were fixed.
2019-10-12 08:27:17 -07:00
nulano
accbe58b5e add Python version to selftest, rename brief parameter 2019-10-12 15:40:12 +01:00
Hugo
3e24c5fea4 Replace isStringType(t) with isinstance(t, str)
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:26:52 +03:00
Hugo
e118de943d Remove redundant __ne__ method
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:26:36 +03:00
Hugo
3a34081db5 Simplify temporary directory cleanup
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:55 +03:00
Hugo
84e53e3757 Simplify using subprocess.DEVNULL
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:42 +03:00
Andrew Murray
6cd99fc3cf
Merge branch 'master' into rm-2.7 2019-10-08 18:57:27 +11:00
Jon Dufresne
64032061c0 Move several imports to the top-level of the file
This better follows PEP 8 style guide:

https://www.python.org/dev/peps/pep-0008/#imports

> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.

This also avoids duplicate import code within the same file.
2019-10-07 06:28:36 -07:00
Hugo
4382413bb4 Remove redundant bytearray 2019-10-07 16:23:43 +03:00
Hugo
865b17d5cf Remove Python 2-compatibility code 2019-10-07 16:23:22 +03:00
Andrew Murray
7e3156eb17 Updated IFDRational operators 2019-10-07 14:30:59 +03:00
Hugo
538d9e2e5d Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
Hugo
af770a6c55 Drop support for EOL Python 2.7 2019-10-07 14:30:59 +03:00
Andrew Murray
732eb7223f
Merge branch 'master' into rm-deprecated-qt 2019-10-06 13:35:38 +11:00
Andrew Murray
6a83d5b239
Merge pull request #4114 from radarhere/tiff_size
Removed deprecated setting of TIFF image sizes
2019-10-05 02:33:08 +10:00
Hugo van Kemenade
0a8f029971
Merge pull request #4113 from radarhere/version
Removed outdated VERSION comment
2019-10-03 22:56:12 +03:00
Hugo van Kemenade
d479572158
Changed condition to use DEBUG as a boolean (#4112)
Changed condition to use DEBUG as a boolean
2019-10-03 15:38:46 +03:00
Andrew Murray
d6ae0a99a7 Removed deprecated setting of TIFF image sizes 2019-10-03 22:12:28 +10:00
Hugo van Kemenade
7821b34924
Merge branch 'master' into rm-deprecated-qt 2019-10-03 14:14:00 +03:00
Andrew Murray
3cd7d9e4a2 Removed outdated VERSION comment 2019-10-03 20:54:55 +10:00
Andrew Murray
f61af2fed0
Merge pull request #4107 from hugovk/rm-deprecated-PILLOW_VERSION
Remove deprecated PILLOW_VERSION
2019-10-03 20:52:48 +10:00
Andrew Murray
1e6eac40fc Changed condition to use DEBUG as a boolean 2019-10-03 20:23:49 +10:00
Andrew Murray
f92f429317
Merge pull request #1730 from radarhere/frombuffer_args
Changed default frombuffer raw decoder args
2019-10-02 19:25:46 +10:00
Andrew Murray
91306dfac5
Merge pull request #4009 from radarhere/tifftags
Corrected tag types
2019-10-02 19:18:56 +10:00
Andrew Murray
94a64ea09c 7.0.0.dev0 version bump 2019-10-02 06:42:14 +10:00
Hugo
f898ccbaf8 Remove deprecated PILLOW_VERSION 2019-10-01 14:43:15 +03:00
Andrew Murray
75602d12e1 6.2.0 version bump 2019-10-01 19:23:32 +10:00
Hugo
f0a87e25a4 Drop support for EOL PyQt4 and PySide 2019-09-30 17:58:31 +03:00
Andrew Murray
cc16025e23
Merge pull request #4104 from radarhere/overrun
Catch buffer overruns
2019-09-30 23:33:28 +10:00
Andrew Murray
fb8470187a
Merge pull request #4034 from cgohlke/patch-1
Initialize rows_per_strip when RowsPerStrip tag is missing
2019-09-30 22:32:34 +10:00
Andrew Murray
b9693a51c9
Merge pull request #4103 from radarhere/dimension
Raise error if TIFF dimension is a string
2019-09-30 21:26:53 +10:00
Andrew Murray
f228d0ccbf
Merge pull request #4102 from radarhere/decompression
Added decompression bomb checks
2019-09-30 20:31:05 +10:00
Andrew Murray
aaf2c42156
Merge pull request #4000 from nulano/dpi_fix
Fix Screengrab DPI scaling on Windows 10 version 1607+
2019-09-30 19:50:46 +10:00
Andrew Murray
9a977b975c Raise error if dimension is a string 2019-09-30 18:48:10 +10:00
Andrew Murray
ab52630d06 Catch buffer overruns 2019-09-30 18:45:43 +10:00
Andrew Murray
eed2bfc5b4 Added decompression bomb checks 2019-09-30 18:45:13 +10:00
Andrew Murray
87c43b66a5 Corrected negative seeks 2019-09-30 18:31:18 +10:00
Hugo van Kemenade
d3ae7a1c46
Merge pull request #4088 from radarhere/fit
Do not calculate the crop width in Image.fit if it is already known
2019-09-29 12:57:29 +03:00
Andrew Murray
1809f46e0b Do not calculate the crop width if it is already known 2019-09-29 14:26:32 +10:00
nulano
17d9938ece spider labrec ceil 2019-09-27 22:10:49 +02:00
nulano
ee5c134b33
Merge branch 'master' into dpi_fix 2019-09-27 09:11:01 +02:00
Hugo van Kemenade
310d2c9005
Add option to capture all monitors on Windows (#3950)
Add option to capture all monitors on Windows
2019-09-27 08:47:55 +03:00
nulano
5f4c1e113c add libimagequant to features.py 2019-09-27 00:34:45 +02:00
Andrew Murray
2f5e24da48 Removed warning 2019-09-25 18:52:53 +10:00
Andrew Murray
8f91eff078 Changed default frombuffer raw decoder args 2019-09-25 18:52:07 +10:00
Andrew Murray
595a8fd33c Updated warning to specify time of change 2019-09-24 20:33:02 +10:00
Hugo van Kemenade
20b6a8a57b
Merge pull request #4080 from radarhere/imageshow
Changed WindowsViewer format to PNG
2019-09-22 09:13:15 +03:00
Andrew Murray
f9236a11ce Do not seek if the file pointer is about to be closed 2019-09-21 21:54:39 +10:00
Andrew Murray
82f4a0d8f2 Changed WindowsViewer format to PNG 2019-09-21 09:11:32 +10:00
Hugo van Kemenade
f5aed1a254
Merge branch 'master' into patch-1 2019-09-20 22:59:29 +03:00
Hugo van Kemenade
736b8436e7
Use TIFF orientation (#4063)
Use TIFF orientation
2019-09-20 22:57:58 +03:00
Hugo van Kemenade
8e3c4e3658
Merge pull request #3965 from radarhere/truncated
Raise the same error if a truncated image is loaded a second time
2019-09-20 22:53:52 +03:00
nulano
6a2d8f8da0 rename parameter, add note to docs 2019-09-20 17:35:08 +02:00
Andrew Murray
0009646a41 Corrected comment [ci skip] 2019-09-16 21:06:13 +10:00
Andrew Murray
1b70a4c6b5 Use TIFF orientation 2019-09-13 22:36:26 +10:00
Hugo van Kemenade
e5f6b86413
Merge pull request #4031 from radarhere/exif
Lazily use ImageFileDirectory_v1 values from Exif
2019-09-09 20:16:24 +03:00
Andrew Murray
ef16cb8efe ImageFileDirectory_v1 does not raise KeyError 2019-09-07 18:31:23 +10:00
Andrew Murray
14859ce506
Merge pull request #4004 from radarhere/hsv
Improved HSV conversion
2019-09-07 00:50:34 +10:00
Andrew Murray
76e5bd0f0f Added brackets 2019-09-06 20:07:23 +10:00
Andrew Murray
58d2814ab5 Corrected tag types 2019-09-06 19:33:57 +10:00
Andrew Murray
da39d40342
Merge pull request #3978 from radarhere/stroke
Added text stroking
2019-09-06 19:14:49 +10:00
Hugo van Kemenade
97f6fc96f2
Merge pull request #4047 from radarhere/modes
Documented more limited support modes
2019-09-05 23:20:24 +03:00
Andrew Murray
e790a4066a
Renamed method
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-09-06 06:18:48 +10:00
Hugo van Kemenade
cb1ebc024b
Merge pull request #4017 from radarhere/floodfill
Do not allow floodfill to extend into negative coordinates
2019-09-05 23:00:33 +03:00
Hugo van Kemenade
bd2d7cb247
Merge pull request #4014 from radarhere/arc
Fixed arc drawing bug for a non-whole number of degrees
2019-09-05 22:52:05 +03:00
Hugo van Kemenade
572a93c86f
Corrected tag counts (#4033)
Corrected tag counts
2019-09-05 22:41:16 +03:00
Andrew Murray
dea75d1210 Corrected comment 2019-09-05 20:11:02 +10:00
Hugo van Kemenade
e980d023db
Merge pull request #3969 from radarhere/encoding
Documented more encoding values
2019-09-04 16:51:13 +03:00
Hugo van Kemenade
3f9d00e4c2
Merge pull request #3967 from radarhere/error
Return after error
2019-09-04 16:07:22 +03:00
Konstantin Kopachev
06e34db10b
Merge remote-tracking branch 'upstream/master' into exif-writing-fixes
# Conflicts:
#	Tests/test_file_tiff_metadata.py
2019-08-29 09:20:09 -07:00
Andrew Murray
ddcfd259cf Corrected short and long range checks 2019-08-29 19:36:46 +10:00
Andrew Murray
24d29bd11d
Merge pull request #4003 from djy0/master
Fix bug when merging identical images to GIF with a list of durations
2019-08-25 12:52:41 +10:00
Andrew Murray
2dbfabe6d5 Simplifications 2019-08-24 08:10:45 +10:00
Andrew Murray
d96f657328
Merge pull request #3998 from chadawagner/master
Fix bug in TIFF loading of BufferedReader
2019-08-23 06:25:30 +10:00
Andrew Murray
f3ed44a566 Changed the Image getexif method to return a shared Exif instance 2019-08-23 06:13:20 +10:00
Christoph Gohlke
b37f12a5f8
Initialize rows_per_strip when RowsPerStrip tag is missing 2019-08-20 16:07:07 -07:00
Andrew Murray
4834157658 Documented OS support for saved files [ci skip] 2019-08-20 20:42:58 +10:00
Andrew Murray
7a16ef16e7 Added IptcNaaInfo tag to v2 2019-08-19 21:12:24 +10:00
Andrew Murray
f08a0966a0 Corrected tag counts 2019-08-19 21:12:16 +10:00
Andrew Murray
0b405c86be Lazily use ImageFileDirectory_v1 values from Exif 2019-08-18 23:03:43 +10:00
Andrew Murray
19426417ff Reverted unrelated change 2019-08-17 20:38:54 +10:00
Andrew Murray
75fe92fa88 Updated documentation [ci skip] 2019-08-16 19:16:06 +10:00
Andrew Murray
108512eae2 Cleaned up strings 2019-08-15 20:41:48 +10:00
nulano
fa6b80fddf add option to capture all monitors on Windows 2019-08-15 20:03:33 +10:00
Andrew Murray
86c64aafd2 Formatted text [ci skip] 2019-08-12 20:43:32 +10:00
Andrew Murray
eb0a61a47e
Simplified text [ci skip]
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-08-12 20:42:27 +10:00
Andrew Murray
b307fb4808 Noted a Windows limit on opening fonts [ci skip] 2019-08-12 20:19:49 +10:00
Andrew Murray
8fb437d37f Improved ImageFont documentation [ci skip] 2019-08-12 20:04:18 +10:00
Andrew Murray
524933aa1d Lint fixes 2019-08-12 19:43:35 +10:00
Konstantin Kopachev
1b626f4d22 Fix RATIONAL and SRATIONAL boundaries when writing IFDs 2019-08-12 19:43:35 +10:00
chadawagner
597ca79b1b rewind before decode, consistent with other cases 2019-08-12 18:56:34 +10:00
chadawagner
88be36c27a check prior fp result, do not use if False 2019-08-12 18:56:34 +10:00
djy0
dc9c0dbfbe format 2019-08-12 18:54:29 +10:00
djy0
3499f50e52 format 2019-08-12 18:54:29 +10:00
djy0
fcaf27d51c Update GifImagePlugin.py 2019-08-12 18:54:29 +10:00
Andrew Murray
d46f81afba Windows Screengrab DPI fix improvements (#2)
* Load User32 after possible return

* Removed unused setting of variable
2019-08-12 18:51:52 +10:00
nulano
cacbdc680c override Win10 dpi scaling in screengrab
(cherry picked from commit 45ead62d6431c8339613e8ced85b705c80a7fdc9)
2019-08-12 18:51:52 +10:00
Andrew Murray
23872c0645 Do not allow floodfill to extend into negative coordinates 2019-08-12 06:51:16 +10:00
Andrew Murray
8fff9a2444 Fixed arc drawing bug for a non-whole number of degrees 2019-08-12 06:50:58 +10:00
Andrew Murray
27d6fc7bc5 Improved HSV conversion 2019-08-12 06:50:18 +10:00
Andrew Murray
f93a5d0972 Added text stroking 2019-07-29 06:40:03 +10:00
Andrew Murray
dfed1424d1 Improved ImageFont documentation 2019-07-25 20:04:45 +10:00
Andrew Murray
e2ee2a30a5 Corrected tag type 2019-07-24 19:57:28 +10:00
Andrew Murray
66ad3cb461 Changed overflow check to use PY_SSIZE_T_MAX 2019-07-17 07:07:26 +10:00
Hugo van Kemenade
1ab5670eb1
Introduce isort to automate import ordering and formatting (#3954)
Introduce isort to automate import ordering and formatting
2019-07-16 23:02:31 +03:00
Andrew Murray
c76369ce87 Explain that encoding does not alter text 2019-07-16 19:28:54 +10:00
Andrew Murray
0427170db5 Documented more encoding values 2019-07-15 19:04:35 +10:00
Andrew Murray
2995fb67c1 Return after error 2019-07-13 13:50:13 +10:00
Andrew Murray
023dcf27c2 Raise the same error if a truncated image is loaded a second time 2019-07-13 08:37:17 +10:00
Jon Dufresne
d50445ff30 Introduce isort to automate import ordering and formatting
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.

Uses the configuration recommended by the Black to avoid conflicts of
style.

Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Andrew Murray
13224bf029 Removed unused argument 2019-07-04 20:07:33 +10:00
Hugo
50693f8e59
Added explicit braces (#3937)
Added explicit braces
2019-07-03 15:05:15 +03:00
Hugo
292b4d038c 6.2.0.dev0 version bump 2019-07-03 08:49:24 +03:00
nulano
86d4c53d79 revert #3780 for PyPy as it hasn't been updated 2019-07-02 08:52:15 +02:00
Rolf Eike Beer
0e0afd4acf fix bad loop increments in p2i() and p2f()
Fixes: 7a4af2b767
2019-07-01 20:25:52 +02:00
Andrew Murray
8fd1ed9b73 Added explicit braces 2019-07-01 22:07:45 +10:00
Hugo
c5578b7fd7 6.1.0 version bump 2019-07-01 14:17:21 +03:00
Oliver Tonnhofer
edeb8d69af
Merge branch 'master' into tiff-jpeg-quality 2019-07-01 11:00:06 +02:00
Hugo
555e305a60
Merge pull request #3225 from DerDakon/unaligned-access
Use explicit memcpy() to avoid unaligned memory accesses
2019-07-01 08:22:18 +03:00
Oliver Tonnhofer
2af4026201 Improve encoding of TIFF tags (#3861)
* Improve encoding of TIFF tags

- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).

Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2019-06-30 21:48:19 +03:00
Hugo
8d4bb339a6
Merge pull request #3780 from nulano/update_py_unicode
Update Py_UNICODE to Py_UCS4
2019-06-30 13:21:46 +03:00
Hugo
12695b8ca3
Merge pull request #3899 from radarhere/pixelsize
Consider I;16 pixel size when drawing
2019-06-30 13:18:46 +03:00
Andrew Murray
c994b783ec
Merge branch 'master' into tiff-jpeg-quality 2019-06-30 14:03:09 +10:00
Christoph Gohlke
a70da8112d Add TIFFTAG_SAMPLEFORMAT to blocklist
The SAMPLEFORMAT tag is determined by the image format and should not be copied from legacy_ifd.
2019-06-30 13:26:58 +10:00
Andrew Murray
9074eda608
Merge pull request #3778 from radarhere/all_frames
Added ImageSequence all_frames
2019-06-30 07:55:34 +10:00
Rolf Eike Beer
7a4af2b767 fix unaligned accesses by using memcpy() 2019-06-29 21:04:11 +02:00
Rolf Eike Beer
220bfee19a replace copy operations with memcpy()
This replaces trivial instances where a copy from one pointer to the other
involves no further calculations or casts. The compiler will optimize this to
whatever the platform offers.
2019-06-29 19:30:24 +02:00
Andrew Murray
90d3d37164 Do not presume that the background color index is 0 2019-06-29 23:06:45 +10:00
Andrew Murray
97c15a245c Corrected color table size calculation 2019-06-29 23:02:26 +10:00
Andrew Murray
3e4db05249 Removed code not required by tests 2019-06-29 23:02:17 +10:00
Andrew Murray
c3e982e0c6
Merge branch 'master' into master 2019-06-29 22:59:17 +10:00
Hugo
af0d90a054
Merge pull request #3923 from cgohlke/patch-1
Use unsigned int to store TIFF IFD offsets
2019-06-29 11:02:10 +03:00
Hugo
0e7358a046
Updated TIFF tile descriptors to match current decoding functio… (#3795)
Updated TIFF tile descriptors to match current decoding functionality
2019-06-29 10:27:00 +03:00
Hugo
08c47925d0
Added an image.entropy() method (#3608)
Added an `image.entropy()` method
2019-06-29 10:12:34 +03:00
Hugo
a96482bba0
Pass the correct types to PyArg_ParseTuple (#3880)
Pass the correct types to PyArg_ParseTuple
2019-06-28 21:49:54 +03:00
Christoph Gohlke
59e1328272
Use unsigned int to store TIFF IFD offsets 2019-06-27 15:30:19 -07:00
Christoph Gohlke
129df60c48
Use unsigned int to store TIFF IFD offsets 2019-06-27 15:09:31 -07:00
Christoph Gohlke
2ebde32852
Use unsigned int to store TIFF IFD offsets 2019-06-27 15:07:52 -07:00
Hugo
119d1c927b
Merge pull request #3922 from radarhere/param
Improved parameter documentation
2019-06-28 00:25:41 +03:00
Hugo
372c7c352a
Merge pull request #3703 from jkrshnmenon/master
Add an upper limit for blocks_max in _set_blocks_max
2019-06-27 23:03:25 +03:00
Hugo
b584635a8c
Merge pull request #3912 from radarhere/non_font_bytes
Fixed crash when loading non-font bytes
2019-06-27 22:40:29 +03:00
Hugo
219f277129
Merge pull request #3858 from kulikjak/master
Fix SPARC memory alignment issues in Pack/Unpack functions
2019-06-27 21:27:37 +03:00
Andrew Murray
e319e32cec Improved parameter documentation [ci skip] 2019-06-27 22:53:46 +10:00
Andrew Murray
1a71faf8ea Removed variable 2019-06-26 19:15:47 +10:00
Alexander Böhn
7b815a5f1d Added an image.entropy() method
This calculates the entropy for the image, based on the histogram.

Because this uses image histogram data directly, the existing C
function underpinning the `image.histogram()` method was abstracted
into a static function to parse extrema tuple arguments, and a new
C function was added to calculate image entropy, making use of the
new static extrema function.

The extrema-parsing function was written by @homm, based on the
macro abstraction I wrote, during the discussion of my first
entropy-method pull request: https://git.io/fhodS

The new `image.entropy()` method is based on `image.histogram()`,
and will accept the same arguments to calculate the histogram data
it will use to assess the entropy of the image.

The algorithm and methodology is based on existing Python code:

* https://git.io/fhmIU

... A test case in the `Tests/` directory, and doctest lines in
`selftest.py`, have both been added and checked.

Changes proposed in this pull request:

* Added “math.h” include to _imaging.c
* The addition of an `image.entropy()` method to the `Image`
  Python class,
* The abstraction of the extrema-parsing logic of of the C
  function `_histogram` into a static function, and
* The use of that static function in both the `_histogram` and
  `_entropy` C functions.
* Minor documentation addenda in the docstrings for both the
  `image.entropy()` and `image.histogram()` methods were also
  added.
* Removed outdated boilerplate from testing code
* Removed unused “unittest” import
2019-06-26 19:15:47 +10:00
Hugo
a79147ff96
Merge pull request #3916 from cgohlke/patch-1
Fix memory leak
2019-06-26 12:09:50 +03:00
Hugo
f2d0106a9b
Merge pull request #3917 from cgohlke/patch-2
Fix potential null pointer is passed into memcpy
2019-06-26 12:09:22 +03:00
Jayakrishna Menon
37516fb665 adding an upper limit for blocks_max in _set_blocks_max 2019-06-26 19:08:07 +10:00
Christoph Gohlke
afed559e4f
Fix msvc9 compile error 2019-06-25 17:18:37 -07:00
Christoph Gohlke
c34cefb576
Use ssize_t to store number of elements in buffer 2019-06-25 14:41:06 -07:00
Christoph Gohlke
a78341e26c
Fix potential null pointer is passed into memcpy 2019-06-25 14:23:20 -07:00
Oliver Tonnhofer
2b7d8be536 tiff: add support for JPEG quality
Uses JPEGQUALITY pseudo-tag from libtiff.

Also changes the way tags are passed to PyImaging_LibTiffEncoderNew from
dict to list to ensure that COMPRESSION tag is added before JPEGQUALITY.
This is required as the COMPRESSION tag registers the JPEGQUALITY
pseudo-tag.
2019-06-26 06:33:54 +10:00
Christoph Gohlke
47f7eba279
Fix memory leak 2019-06-25 13:33:49 -07:00
Oliver Tonnhofer
61add9d6b0 Improve encoding of TIFF tags
- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).
2019-06-26 06:33:19 +10:00
nulano
92ff050bf9 replace PyUnicode_GetLength and PyUnicode_ReadChar with macro versions 2019-06-25 22:14:48 +10:00
nulano
6aba1df727 update Py_UNICODE to Py_UCS4 2019-06-25 22:14:47 +10:00
Hugo
ea570a8c5b
Merge pull request #3915 from radarhere/typo
Fixed typos
2019-06-25 11:41:58 +03:00
Andrew Murray
78d4b7f03e Fixed typos 2019-06-25 05:54:14 +10:00
David Nisson
5857bf8243 corrected args to reflect change to tile descriptors 2019-06-23 13:49:41 +10:00
David Nisson
cb7d9bcd12 updated TIFF tile descriptors to match current decoding functionality 2019-06-23 13:49:15 +10:00
Andrew Murray
9c37933bb9 Added CMYK;16B and CMYK;16N unpackers 2019-06-23 11:56:17 +10:00
Andrew Murray
7bb16de81c Fixed crash when loading non-font bytes 2019-06-23 11:53:01 +10:00
Andrew Murray
db4916849e Added ImageSequence all_frames 2019-06-23 07:34:39 +10:00
Andrew Murray
e0cbfb2708 Consider I;16 pixel size when drawing 2019-06-23 07:33:55 +10:00
Hugo
c1b3adbd1b
Merge pull request #3910 from radarhere/xrgb
Changed bits value for XRGB unpackers
2019-06-22 10:24:24 +03:00
Andrew Murray
ea0f1c6b06 Do not presume that the last glyph has the max x value 2019-06-19 22:32:01 +10:00
Andrew Murray
fb38296230 Change direction of y offset in calculating size 2019-06-19 22:30:50 +10:00
Hugo
be1b551bfc
Add __main__.py to output basic format and support information (#3870)
Add __main__.py to output basic format and support information
2019-06-19 14:42:34 +03:00
Andrew Murray
da16b7ec45 Added variation font support 2019-06-19 20:27:49 +10:00
Hugo
2334040f56
Merge pull request #3860 from olt/non-ascii-quotes
Replace non-ascii quotes from docstring
2019-06-19 12:03:14 +03:00
Hugo
f338eae128
Merge pull request #3869 from radarhere/imageshow
Do not down-convert if image is LA when showing with PNG format
2019-06-19 09:26:15 +03:00
Hugo
a9c05c7aa0
Merge pull request #3759 from radarhere/psd_frames
Improve handling of PSD frames
2019-06-19 09:15:13 +03:00
Hugo
ac6185ca15
Merge pull request #3897 from radarhere/load
Improved ICO and ICNS loading
2019-06-19 09:09:34 +03:00
Hugo
7f86ed1e52
Merge pull request #3896 from radarhere/preview
Changed Preview application path so that it is no longer static
2019-06-19 09:08:24 +03:00
Hugo
67496177cb
Merge pull request #3893 from radarhere/bmp_definitions
Simplified definition of BMP values
2019-06-19 09:06:46 +03:00
Hugo
b2714854a3
Merge pull request #3856 from radarhere/ttb
Corrected ttb text positioning
2019-06-19 09:01:51 +03:00
Andrew Murray
8e2f5ddd1d Changed bits value for XRGB unpackers 2019-06-18 20:43:02 +10:00
Andrew Murray
b262378632 Added mode descriptors for all I;16 modes 2019-06-12 20:33:00 +10:00
Andrew Murray
848a629784 Do not down-convert if image is LA when showing with PNG format 2019-06-12 20:17:23 +10:00
Andrew Murray
e1e35cc819 Close internal fp when closing and deleting 2019-06-12 20:12:03 +10:00
Andrew Murray
ea02e28adb Use _min_frame in ImageSequence.Iterator 2019-06-12 20:11:51 +10:00
Andrew Murray
72d5ee3bfa Do not close exclusive fp after loading 2019-06-12 20:10:28 +10:00
Andrew Murray
f7d7a80b5b Allow ICNS to change size as ICO does 2019-06-12 02:19:58 +10:00
Andrew Murray
02a2e93703 Do not load ICO if already loaded 2019-06-12 02:18:54 +10:00
Andrew Murray
1ecabd83d5 Changed Preview application path so that it is no longer static 2019-06-12 02:17:07 +10:00
Andrew Murray
ca3e210313 Simplified definition of values 2019-06-12 02:12:57 +10:00
Andrew Murray
982f4509eb Fixed typo 2019-06-12 02:09:26 +10:00
Hugo
a986fed5b4
Format code with Black (#3733)
Format code with Black
2019-06-11 16:24:09 +03:00
Andrew Murray
231fe4d62a Revert "Merge pull request #3838 from radarhere/i_conversion"
This reverts commit 41f3e7c8bd, reversing
changes made to 2f84482871.
2019-06-11 19:28:31 +10:00
Hugo
cab7231e2a Format with Black 2019-06-11 11:42:05 +03:00
Hugo
169455f924 Refactor and format with Black 2019-06-10 18:22:46 +03:00
Hugo
53a7e35004 Format with Black 2019-06-10 18:22:46 +03:00
Andrew Murray
ca52e46105 Use raqm version checking 2019-06-07 05:51:40 +10:00
Andrew Murray
54c83f61bd Check for raqm version function 2019-06-07 05:51:40 +10:00
Andrew Murray
1c1447f563 Corrected ttb text positioning 2019-06-07 05:51:40 +10:00
Andrew Murray
a94bd13791 Changed string formatting 2019-06-06 21:36:38 +10:00
Andrew Murray
4fa3016d67 Changed string formatting
Co-Authored-By: Hugo <hugovk@users.noreply.github.com>
2019-06-06 21:36:38 +10:00
Andrew Murray
77630f000c Updated resampling filter error messages 2019-06-06 21:36:38 +10:00
Hugo
169961649d
Merge pull request #3848 from radarhere/pa
Improved palette handling for LA and PA modes
2019-06-05 22:32:44 +03:00
Hugo
41f3e7c8bd
Merge pull request #3838 from radarhere/i_conversion
Improved I mode conversion
2019-06-05 22:23:35 +03:00
Hugo
2f84482871
Merge pull request #3811 from radarhere/warnings
Fixed several warnings
2019-06-05 22:22:14 +03:00
Elliott Sales de Andrade
560bc33731 Pass the correct types to PyArg_ParseTuple.
Py_ssize_t uses the 'n' specifier, not 'i'.
2019-05-31 05:55:13 -04:00
Jon Dufresne
1008644dd6 Add __main__.py to output basic format and support information
To help debug and show supported formats, users can run:

    $ python -m PIL

to get basic format and support information about the installed version
of Pillow.

The new feature works as follows:

    $ python -m PIL
    --------------------------------------------------------------------
    Pillow 6.1.0.dev0
    --------------------------------------------------------------------
    Python modules loaded from .../Pillow/src/PIL
    Binary modules loaded from .../Pillow/src/PIL
    --------------------------------------------------------------------
    Python 3.7.3 (default, May 11 2019, 00:38:04)
           [GCC 9.1.1 20190503 (Red Hat 9.1.1-1)]
    --------------------------------------------------------------------
    --- PIL CORE support ok
    --- TKINTER support ok
    --- FREETYPE2 support ok
    --- LITTLECMS2 support ok
    --- WEBP support ok
    --- WEBP Transparency support ok
    --- WEBPMUX support ok
    --- WEBP Animation support ok
    --- JPEG support ok
    --- OPENJPEG (JPEG2000) support ok
    --- ZLIB (PNG/ZIP) support ok
    --- LIBTIFF support ok
    --- RAQM (Bidirectional Text) support ok
    --------------------------------------------------------------------
    BLP
    Extensions: .blp
    Features: open
    --------------------------------------------------------------------
    BMP image/bmp
    Extensions: .bmp
    Features: open, save
    --------------------------------------------------------------------
    BUFR
    Extensions: .bufr
    Features: open, save
    --------------------------------------------------------------------
    …
2019-05-27 18:44:04 -07:00
Hugo
65f3e44b3d
Use dict comprehension in ImageFileDirectory_v2.named() (#3872)
Use dict comprehension in ImageFileDirectory_v2.named()
2019-05-27 09:48:20 +03:00
Jon Dufresne
3f2cfb2027 Remove unnecessary numeric placeholders from format strings
Unnecessary since Python 2.7.
2019-05-26 07:07:32 -07:00
Jon Dufresne
42602b69f3 Use dict comprehension in ImageFileDirectory_v2.named() 2019-05-26 06:56:01 -07:00
Oliver Tonnhofer
26b71998d2 Replace non-ascii quotes from docstring [ci skip] 2019-05-24 12:09:14 +02:00
Jakub Kulík
e073f4add0 Fix SPARC memory alignment issues in Pack/Unpack functions 2019-05-20 14:25:27 +02:00
Hugo
feb413e0f3
Merge pull request #3836 from radarhere/ico_size
Handle unexpected ICO image sizes
2019-05-12 19:53:48 +03:00
Andrew Murray
d830cca5ca Handle unexpected ICO image sizes 2019-05-12 20:44:29 +10:00
Andrew Murray
e131fa22e2 Fixed reading and saving for TIFF and IM in PA mode 2019-05-11 14:43:48 +10:00
Andrew Murray
e9c0cf61f3 Fixed palette for LA and PA mode when pickling 2019-05-11 14:43:00 +10:00
Konstantin Kopachev
5e5ff10f09 Fix bits value for RGB;16N unpackers 2019-05-10 08:07:01 +10:00
Andrew Murray
d30264ec5d Fixed warnings that variable may be uninitialized 2019-05-09 12:24:27 +10:00
Andrew Murray
1897897921 Fixed several comparison warnings 2019-05-09 12:10:17 +10:00
Andrew Murray
8a035b8c5d Improved I mode conversion 2019-05-08 21:58:33 +10:00
Hugo
45df9ad882
Merge pull request #3807 from radarhere/code
Simplified code
2019-05-04 18:57:40 +03:00
Hugo
fdcacb6978
Merge pull request #3817 from radarhere/cmyk_16l
Added reading of CMYK;16L TIFF images
2019-05-04 18:53:13 +03:00
Hugo
d45a13d9cb
Merge pull request #3827 from radarhere/pdf
Fixed dimensions of 1-bit PDFs
2019-05-04 18:52:16 +03:00
Hugo
9a25b3c797
Merge pull request #3825 from radarhere/path
Fixed opening mmap image through Path on Windows
2019-05-04 18:51:23 +03:00
Hugo
c3ed8cc67e
Fixed ImageDraw arc gaps (#3824)
Fixed ImageDraw arc gaps
2019-05-04 18:50:07 +03:00
Hugo
5090bba463
Merge pull request #3822 from radarhere/tile
Expand GIF to include frames with extents outside the image size
2019-05-04 18:46:49 +03:00
Hugo
3e4b1a91ad
Merge pull request #3814 from radarhere/getimage
Fixed ImageTk getimage
2019-05-04 18:39:29 +03:00
Hugo
ab9a25d623
Merge pull request #3791 from radarhere/int
Fixed bug in decoding large images
2019-05-04 16:15:32 +03:00
Hugo
0ccd887431
Merge pull request #3771 from radarhere/app13
Fixed reading APP13 marker without Photoshop data
2019-05-04 16:10:02 +03:00
Andrew Murray
69b733d5f1 Changed if to elif 2019-05-04 23:05:07 +10:00
Andrew Murray
683768095b Removed duplicate code 2019-05-04 23:05:07 +10:00
Andrew Murray
568fc2def8 Simplified code 2019-05-04 23:05:07 +10:00
Hugo
82d9ea5eac
Merge pull request #3808 from radarhere/imagegrab
Added option to include layered windows in ImageGrab.grab on Windows
2019-05-04 16:00:43 +03:00
Hugo
9077a80e3e
Merge pull request #3787 from radarhere/raqm
Fixed raqm layout bug
2019-05-04 15:57:13 +03:00
Hugo
e20228a60a
Merge pull request #3785 from radarhere/unicode_path
Fixed loading font with non-Unicode path on Windows
2019-05-04 15:55:50 +03:00
Andrew Murray
ae1f7c4f50 Fixed dimensions of 1-bit PDFs 2019-05-04 16:27:34 +10:00
Andrew Murray
691df96734 Fixed opening mmap image through Path on Windows 2019-05-04 15:00:49 +10:00
Andrew Murray
21c7fd251c Fixed arc gaps 2019-05-03 23:37:37 +10:00
Andrew Murray
53433419e9
Merge pull request #3801 from kerisquared/rm-pythonh
Remove Python.h where not needed
2019-05-03 07:48:11 +10:00
Andrew Murray
27134340f5 Expand GIF to include frames with extents outside the image size 2019-05-02 19:46:17 +10:00
Andrew Murray
ca0d28eae5 Added reading of CMYK;16L TIFF images 2019-05-01 00:42:30 +10:00
Andrew Murray
d9a3878937 Fixed ImageTk getimage 2019-04-29 23:43:13 +10:00
Andrew Murray
70038bd71e Added option to include layered windows in ImageGrab.grab on Windows 2019-04-26 20:09:46 +10:00
Hugo
9a71c9517e
Apply suggestions from code review
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2019-04-24 06:16:15 +10:00
Andrew Murray
93b96a6cb8 Improved documentation 2019-04-21 23:27:31 +10:00
Pete Couperus
8473ada61b Remove Python.h where not needed. 2019-04-18 22:48:32 -07:00
Andrew Murray
ca1cf59251 Changed decode buffer size to Py_ssize_t 2019-04-15 17:33:28 +10:00
Hugo
caf7af6a04
Merge pull request #3790 from radarhere/numpy_bool
Fix numpy bool bug
2019-04-15 09:55:44 +03:00
Warren Weckesser
4edfee3118 Make import from _util a relative import. 2019-04-14 14:54:36 -04:00
Andrew Murray
73cb0ce15f Fixed numpy bool bug 2019-04-13 00:25:59 +10:00
Andrew Murray
b742d1511e Fixed raqm layout bug 2019-04-11 15:36:33 +10:00
Andrew Murray
4e6aa7d6d3 Fixed loading font with non-Unicode path on Windows 2019-04-10 07:04:59 +10:00
Riley Lahd
5fb36d2de4 Merge branch 'master' of https://github.com/python-pillow/Pillow 2019-04-09 08:24:52 -06:00
Riley Lahd
7443e6d36b Clean up disposal flag check 2019-04-09 08:23:59 -06:00
Andrew Murray
2274c2afc7 Fixed reading APP13 marker without Photoshop data 2019-04-05 20:02:45 +11:00
Andrew Murray
5a2ecd13dd 6.1.0.dev0 version bump 2019-04-02 15:31:07 +11:00
Andrew Murray
4f3b44960f Resolved segfaults 2019-04-02 09:25:27 +11:00
Andrew Murray
8aaf7ff731 6.0.0 version bump 2019-04-01 22:46:08 +11:00
Andrew Murray
40bc46ff49 Moved ImageFile.Exif to Image.Exif 2019-04-01 20:03:02 +11:00
Andrew Murray
8f0db65cd7 Allow exif_transpose to work on Image instances as well as ImageFile 2019-04-01 19:37:25 +11:00
Andrew Murray
38fb9b1030 Delete EXIF orientation tag after transposing 2019-04-01 18:49:09 +11:00
Hugo
c8257b30dd
Merge pull request #3687 from radarhere/exif_transpose
Add ImageOps exif_transpose method
2019-04-01 10:23:33 +03:00
Hugo
7d378a8e4c
Merge pull request #3625 from radarhere/exif
Add EXIF class
2019-04-01 10:20:05 +03:00
Andrew Murray
f707affbde
Merge pull request #3615 from hugovk/imagecms-deprecations
Add warnings to deprecated CMS profile attributes
2019-04-01 17:35:32 +11:00
Andrew Murray
7c154f52fa Replaced while with for loop 2019-04-01 11:32:51 +11:00
Andrew Murray
2a403860d1 Removed condition that was always true 2019-04-01 11:30:23 +11:00
Andrew Murray
2c09252640
Merge pull request #3658 from Glandos/fast_mpo_open
Fast MPO open
2019-03-31 12:58:07 +11:00
Andrew Murray
259a2ce2b2 Removed camelcase 2019-03-31 08:09:01 +11:00
Hugo
4f8cfd536b
Merge pull request #3721 from radarhere/quantize
Update palette in quantize
2019-03-30 12:07:38 +02:00
Hugo
05849ca794
Merge pull request #3714 from radarhere/tiff_frames
Improvements to TIFF is_animated and n_frames
2019-03-30 12:04:16 +02:00
Hugo
d4ff547149
Merge pull request #3754 from radarhere/warnings
Fixed incompatible pointer type warnings
2019-03-30 12:00:52 +02:00
Hugo
69ed0aa5b5
Merge pull request #3728 from radarhere/pa_mode
Improvements to PA and LA conversion and palette operations
2019-03-30 12:00:06 +02:00
Andrew Murray
c96cdb5e77 Consistent DPI rounding 2019-03-30 15:03:57 +11:00
Andrew Murray
54272c902f Improved converters 2019-03-30 11:18:08 +11:00
Andrew Murray
dba38912fb Allow putpalette for LA and PA 2019-03-29 23:13:50 +11:00
Andrew Murray
819b8acd26 Improved PA conversion 2019-03-29 23:13:07 +11:00
Andrew Murray
cda73633d6 Fixed incompatible pointer type warnings 2019-03-29 21:36:05 +11:00
Andrew Murray
64910d1921 Parse Nintendo and Fujifilm MakerNote tags 2019-03-28 21:13:12 +11:00
Andrew Murray
e6a7dc8bb4 Capitalisation 2019-03-28 21:13:12 +11:00
Hugo
9cbc4b1e3c Apply suggestions from code review
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2019-03-28 21:13:12 +11:00
Andrew Murray
3caec4344e Added get_ifd method to access embedded IFDs 2019-03-28 21:13:12 +11:00
Andrew Murray
d5db62be7b Added EXIF class 2019-03-28 21:13:12 +11:00
Hugo
3b92de5ddc
Merge pull request #3588 from radarhere/mpo_frame_size
Change size of MPO image to match frame
2019-03-28 12:01:33 +02:00
Hugo
ace5ba4418
Merge pull request #3701 from radarhere/photoshop
Read Photoshop resolution data
2019-03-28 11:55:13 +02:00
Hugo
a93bcdfe0c
Merge pull request #3724 from radarhere/readonly_save
Ensure image is mutable before saving
2019-03-28 11:53:33 +02:00
Hugo
e7c2828b4e
Merge pull request #3740 from radarhere/remap_palette
Corrected remap_palette documentation
2019-03-28 11:47:36 +02:00
Hugo
0572983104
Merge pull request #3726 from radarhere/pa
Promote P images to PA in putalpha
2019-03-28 11:44:52 +02:00
Andrew Murray
a5b62857b0 Change size of MPO image to match frame 2019-03-28 08:33:17 +11:00
Andrew Murray
e00628af3b Read EXIF data from subsequent MPO images 2019-03-28 08:32:33 +11:00
Andrew Murray
0a877a527d Speed up n_frames by skipping past the last frame already seeked 2019-03-28 08:13:47 +11:00
Andrew Murray
be80b083e5 Automatically populate _n_frames if seeking to the last frame 2019-03-28 08:13:47 +11:00
Andrew Murray
d84fd20f0c Simplified is_animated 2019-03-28 08:13:47 +11:00
Hugo
adbe97594e
Merge pull request #3719 from radarhere/p_rgb_rgba
Allow RGB and RGBA values for new P images
2019-03-27 18:03:23 +02:00
Hugo
82848905e6
Merge pull request #3713 from radarhere/tiff_seek
Fixed TIFF bug when seeking backwards and then forwards
2019-03-27 17:58:34 +02:00
Hugo
22d7b0495a
Merge pull request #3498 from Glandos/patch-1
Cache EXIF information
2019-03-27 17:53:54 +02:00
Hugo
90886b1888
Merge branch 'master' into imagecms-deprecations 2019-03-27 12:03:54 +02:00
Andrew Murray
75cce8d3aa
Default to "", like the others
Co-Authored-By: hugovk <hugovk@users.noreply.github.com>
2019-03-27 12:02:51 +02:00
Hugo
4ae1020e6e
Merge pull request #3729 from radarhere/spider
Improved docstring
2019-03-27 11:57:20 +02:00
Andrew Murray
4a5666f1f4 Added transparency for all PNG greyscale modes 2019-03-27 07:41:33 +11:00
Andrew Murray
97c2848963 Fixed deprecation warnings 2019-03-26 13:50:57 +11:00
Andrew Murray
9cc7e8ce95 Improved docstring 2019-03-24 22:07:19 +11:00
Glandos
edc272298b Merge branch 'fast_mpo_open' of github.com:Glandos/Pillow into fast_mpo_open 2019-03-24 09:49:06 +01:00
Glandos
b08b122c8b use default value if mpheader is not provided 2019-03-24 09:48:23 +01:00
Andrew Murray
dbf65b0890
Update src/PIL/MpoImagePlugin.py
Co-Authored-By: Glandos <bugs-github@antipoul.fr>
2019-03-23 22:11:32 +01:00
Andrew Murray
8ba76f9a10 Added support for I;16 modes for remaining transpose operations 2019-03-23 14:13:39 +11:00
Andrew Murray
31ac5a96d1
Merge pull request #3716 from radarhere/gif_rewind
Fixed GIF bug when rewinding to a non-zero frame
2019-03-23 10:46:41 +11:00
Andrew Murray
81cfede546 Corrected remap_palette documentation [ci skip] 2019-03-23 09:36:59 +11:00
Riley Lahd
4b2746fc39 Remove disposal 2 duplicate frame exemption and add true delta test 2019-03-22 08:19:01 -06:00
Jon Dufresne
deb8a7aadd Remove additional references to removed handles_eof
handles_eof was removed in 90760a5f30.
2019-03-22 05:58:22 -07:00
Andrew Murray
f61828acdc Promote P images to PA in putalpha 2019-03-19 11:13:58 +11:00
Hugo
b8ea8814f0
Merge pull request #3683 from radarhere/exclusive
Only close original fp in __del__ and __exit__ if original fp is exclusive
2019-03-18 20:37:21 +02:00
Andrew Murray
9bdab56689 Replaced hasattr conditions with getattr and default 2019-03-18 09:15:37 +11:00
Andrew Murray
0b62337b6f Ensure image is mutable before saving 2019-03-17 23:37:40 +11:00
Andrew Murray
fa8ecffff2 Corrected seek documentation 2019-03-17 00:00:10 +11:00
Andrew Murray
406d1d4b9a
Merge pull request #3551 from hugovk/rm-quanthash-destroy-funcs
Remove unused C hashtable functions
2019-03-16 21:48:49 +11:00
Hugo
87ddd07359
Merge pull request #3717 from radarhere/ico_condition
Removed condition that was always true
2019-03-16 12:04:11 +02:00
Andrew Murray
e40e0093fb
Fix typo
Co-Authored-By: hugovk <hugovk@users.noreply.github.com>
2019-03-16 11:58:23 +02:00
Andrew Murray
7dfbdc01f4 Fixed bug when rewinding to a non-zero frame 2019-03-16 20:02:24 +11:00
Andrew Murray
5b9c11b426 Update palette in quantize 2019-03-16 13:36:58 +11:00
Andrew Murray
6790c2e375 Allow RGB and RGBA values for new P images 2019-03-15 17:35:05 +11:00
Andrew Murray
3749a55234 Removed condition that was always true 2019-03-15 10:46:34 +11:00
Riley Lahd
85a07bb385 Linting changes 2019-03-14 14:51:13 -06:00
Riley Lahd
53cfd19a44 Check encoder info for disposal mode 2019-03-14 14:44:15 -06:00
Riley Lahd
8a36a15ebd Force include colour table for disposal=2 gifs and pad colour table to be valid when flag is set 2019-03-14 14:41:10 -06:00
Andrew Murray
0ad09f7386
Merge branch 'master' into mime-types 2019-03-15 07:06:59 +11:00
Andrew Murray
ab85290911 Fixed bug when seeking backwards and then forwards 2019-03-13 18:54:09 +11:00
Hugo
e3eac00b1f
Merge pull request #3566 from radarhere/i16
Added I;16 PNG save
2019-03-12 12:25:53 +02:00
Hugo
b3587f0fb7
Merge pull request #3705 from radarhere/bmp
Add support for BMP RGBA bitfield compression
2019-03-12 11:36:04 +02:00
Andrew Murray
ce9dd67540 Added I;16 PNG save 2019-03-12 17:28:42 +11:00
Ben Yang
8bd4bbb808 implemented language parameter for multiline ImageDraw methods, updated release notes 2019-03-11 20:21:52 -07:00
Ben Yang
d5bbf01254 moved 'language' parameter to last parameter in relevant functions 2019-03-11 18:56:22 -07:00
Ben Yang
c174c90ac1 fixed for python2 2019-03-11 18:56:22 -07:00
Ben Yang
1a075bed52 added language parameter to ImageFont.FreeTypeFont.getmask() 2019-03-11 18:56:22 -07:00
Ben Yang
8624efd283 added ability to set language for text rendering 2019-03-11 18:55:46 -07:00
Andrew Murray
22b0110f89 Only close original fp in __del__ and __exit__ if original fp is exclusive 2019-03-12 08:54:43 +11:00
Hugo
125a001b66
Merge pull request #3698 from radarhere/context
Only close exclusive fp on Image __exit__
2019-03-11 21:41:44 +02:00
Hugo
77d1c609f3
Merge pull request #3635 from radarhere/eps
Changed EPS subprocess stdout from devnull to None
2019-03-11 21:15:18 +02:00
Konstantin Kopachev
28c6f555a2
Merge remote-tracking branch 'remotes/upstream/master' into tiff-old-jpeg 2019-03-11 10:38:02 -07:00
Riley Lahd
c57bfb9a7b Merge branch 'master' of https://github.com/python-pillow/Pillow 2019-03-11 08:26:48 -06:00
Riley Lahd
583d731a96 Fix line indents for linting 2019-03-11 08:02:04 -06:00
Riley Lahd
3b74281a2f Fix line lengths and init background out of loop 2019-03-11 07:55:37 -06:00
Riley Lahd
3b1a1fbfd2 Create background image for calculating gif deltas 2019-03-11 07:41:14 -06:00
Andrew Murray
8ddcc1de52 Load EXIF from PNG where eXIf chunk is after first IDAT chunk 2019-03-11 21:20:18 +11:00
Andrew Murray
365d5e541a Added EXIF support 2019-03-11 21:19:36 +11:00
Hugo
63f31ee380
Merge pull request #3699 from glasnt/topic/quantize-dither
Add option to set dither param on quantize
2019-03-11 12:18:32 +02:00
Hugo
5da0d5beee
Merge pull request #3673 from radarhere/dds
Add reading of DDS uncompressed RGB data
2019-03-11 12:04:47 +02:00
Hugo
c88ada1dcd
Merge pull request #3672 from radarhere/tiff_tag_type
Corrected length of Tiff BYTE tags
2019-03-11 11:59:29 +02:00
Andrew Murray
878244bf38 Fixed typo 2019-03-11 11:13:39 +11:00
Andrew Murray
5277eec027 Added support for RGBA bitfield compression 2019-03-09 11:11:32 +11:00
Katie McLaughlin
0b63579f39 Add option to set dither param on quantize
Default the option to `1`, as per original setting
2019-03-09 10:36:13 +11:00
Riley Lahd
4a2be2af2d Create gif frame delta by subtracting 0x0 image if disposal is mode 2 2019-03-08 15:56:31 -07:00
Riley Lahd
1f6d1be7fc Ensure disposal key exists before checking 2019-03-08 12:57:53 -07:00
Riley Lahd
ae194096d0 Allow correct delta generation for GIFs with disposal 2 (Fixes #3665) 2019-03-08 12:48:22 -07:00
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
Hugo
d0172a08dd
Update src/PIL/MpoImagePlugin.py
Co-Authored-By: Glandos <bugs-github@antipoul.fr>
2019-03-07 13:22:20 +01:00
Hugo
85cc21b563
Update src/PIL/MpoImagePlugin.py
Co-Authored-By: Glandos <bugs-github@antipoul.fr>
2019-03-07 13:22:14 +01: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
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