Andrew Murray
0a56d9b287
Merge branch 'master' into simplified
2021-03-29 19:37:55 +11:00
Hugo van Kemenade
e405ab300b
Merge pull request #5351 from radarhere/categories
2021-03-28 14:34:50 +03:00
Andrew Murray
f799915d6f
Merge pull request #5304 from nulano/5300
...
Do not premultiply alpha when resizing with Image.NEAREST resampling
2021-03-28 16:02:01 +11:00
Andrew Murray
71cd97a519
Added deprecation warnings
2021-03-28 15:51:28 +11:00
Hugo van Kemenade
5e1d304769
Merge pull request #5353 from radarhere/quantize_attributes
...
Use quantization method attributes
2021-03-27 20:01:49 +02:00
nulano
49fa3656b1
do not premultiply alpha when resizing with Image.NEAREST resampling
2021-03-23 13:16:20 +01:00
Andrew Murray
4e0bc3bab6
Use quantization method attributes
2021-03-22 19:44:56 +11:00
Andrew Murray
0ff9879171
Document supported quantization methods for RGBA images
2021-03-22 19:21:31 +11:00
Andrew Murray
ab56edb49f
Documented default quantization method
2021-03-22 19:18:36 +11:00
Andrew Murray
36a4b055bb
Updated comments
2021-03-15 12:50:30 +11:00
Andrew Murray
68719fe6ea
Merge branch 'master' into exif
2021-03-15 12:41:45 +11:00
Andrew Murray
c52b45df62
Removed automatic retrieval of GPS IFD
2021-03-15 12:33:06 +11:00
Andrew Murray
ca204ba04f
Removed Image._MODEINFO
2021-03-07 14:21:27 +11:00
Andrew Murray
e437a8f981
Do not edit text of mode strings
2021-03-07 13:14:07 +11:00
Andrew Murray
8206f14419
Simplified code
2021-03-06 21:44:31 +11:00
Andrew Murray
690cf9ebe2
Allow alpha_composite destination to be negative
2021-03-06 20:54:21 +11:00
Andrew Murray
e763f8f2be
Save interop IFD when converting Exif to bytes
2021-02-22 07:47:59 +11:00
Andrew Murray
b25bc40009
Simplified code
...
Co-authored-by: Konstantin Kopachev <kkopachev@popsugar.com>
2021-02-22 07:47:05 +11:00
Andrew Murray
4b14f0102d
Save base IFDs when converting Exif to bytes
2021-02-22 07:47:05 +11:00
Andrew Murray
faf8fad76d
Stopped flattening EXIF IFD into getexif()
2021-02-22 07:47:05 +11:00
Andrew Murray
587e073dac
Moved case transformation before initialization check
2021-02-05 20:28:34 +11:00
Piolie
0c1675a143
Make formats
parameter in Image.open
accept aNy cAsE
2021-02-04 22:47:53 -03:00
Andrew Murray
c10bf8d9a7
Improved docstring [ci skip]
2021-01-31 13:14:14 +11:00
Mark Laagland
e6ff82b9ab
Small fix for convert documentation of Image.py
...
[ci skip]
2021-01-24 22:49:27 +01:00
Andrew Murray
4eccadced4
Document that getcolors() returns colors in the image mode [ci skip]
2021-01-09 21:30:16 +11:00
Uriel Martinez
7f5dbb7c9b
Update src/PIL/Image.py
...
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-01-02 21:57:24 -06:00
Andrew Murray
3c482b1b0b
Changed list of single item dictionaries to dictionary
2020-12-30 23:10:29 +11:00
Andrew Murray
ad9614be7a
Renamed variable
2020-12-30 22:46:49 +11:00
Alexander
1ff61bcaa6
use offset for all binary input functions instead of slicing
2020-12-30 19:10:50 +11:00
Alexander
3757b8c748
remove extra i8 calls where input is proved bytes[] or int
2020-12-30 19:04:11 +11:00
Hugo van Kemenade
85d61ca7d5
Merge pull request #5139 from radarhere/repr_png
...
Added exception explaining that _repr_png_ saves to PNG
2020-12-29 12:43:22 +02:00
Hugo van Kemenade
5c64438792
Merge pull request #5090 from radarhere/valueerror
...
Do not catch a ValueError only to raise another
2020-12-29 12:19:16 +02:00
UrielMaD
19bac31804
XMP feature added
2020-12-27 22:28:03 -06:00
UrielMaD
7968279c13
XMP feature added
2020-12-27 22:24:38 -06:00
UrielMaD
2f29f1306f
XMP feature added
2020-12-27 22:01:27 -06:00
UrielMaD
762235fb06
XMP feature added
2020-12-27 19:01:15 -06:00
UrielMaD
9947655b93
XMP feature added
2020-12-27 18:46:07 -06:00
UrielMaD
50e88764e8
XMP feature added
2020-12-27 18:39:16 -06:00
UrielMaD
eeee980cf7
XMP feature added
2020-12-27 18:36:13 -06:00
Andrew Murray
fdce845364
Added exception explaining that _repr_png_ saves to PNG
2020-12-27 15:36:16 +11:00
Andrew Murray
ff0ad9af34
Do not catch a ValueError only to raise another
2020-12-12 23:36:57 +11:00
Andrew Murray
a666c91e10
Allow putpalette to accept 1024 integers to include alpha values
2020-12-12 14:12:30 +11:00
Hugo van Kemenade
0893f502c3
Document when deprecations will be removed [CI skip]
2020-12-10 14:32:43 +02:00
Andrew Murray
7e2015c75f
init() if one of the formats is unrecognised
2020-11-11 21:05:57 +11:00
Andrew Murray
ddbd529573
Corrected comment
2020-10-09 01:16:23 +11:00
Andrew Murray
7a1f0f6a8f
Fixed bug in Exif __delitem__
2020-10-05 09:45:05 +11:00
Andrew Murray
2e029d9a79
Merge pull request #4840 from essarrjay/patch-1
...
Image.thumbnail docstring: added missing filters
2020-09-12 11:03:56 +10:00
nulano
a340dc5fd3
Merge remote-tracking branch 'upstream/master' into formats
2020-09-04 21:07:34 +02:00
Hugo van Kemenade
e0eec1eb56
Merge branch 'master' into rm-3.5
2020-09-01 20:16:46 +03:00
Andrew Murray
f9f492b2b1
Added HAMMING to thumbnail docstring [ci skip]
2020-08-27 19:55:24 +10:00
Andrew Murray
70d868ef59
Lint fix
...
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-08-15 13:56:51 +10:00
essarrjay
fce34a0d7b
Fixed line-length formatting
...
Fixed line length issues in formatting [ci skip]
2020-08-05 12:11:22 -07:00
essarrjay
9cdfb296e5
Image.thumbnail docstring: added Image.BOX filter
...
[ci skip] updated docstring of Image.thumbnail to include Image.BOX filter as a resampling option.
2020-08-05 11:18:18 -07:00
Andrew Murray
1c85b9fec7
Document exception [ci skip]
2020-08-05 11:32:30 +01:00
nulano
30c4945d9c
document Image.open(formats=...) parameter
2020-08-03 00:38:59 +02:00
nulano
2b061b68db
add formats parameter to Image.open to restrict list of formats attempting to read an image file
2020-08-03 00:24:02 +02:00
Hugo van Kemenade
10615a7da7
Upgrade Python syntax for 3.6+
...
Co-authored-by: nulano <nulano@nulano.eu>
2020-07-30 10:09:18 +03:00
Andrew Murray
11de331886
Merge pull request #4798 from hugovk/rm-deprecated-notimplemented
...
Remove long-deprecated Image.py functions
2020-07-24 20:48:20 +10:00
Andrew Murray
265bfef36e
Improved documentation
2020-07-21 20:46:50 +10:00
Andrew Murray
56a43a5fa7
Fixed typo
2020-07-21 20:42:42 +10:00
Hugo van Kemenade
40aefc6ba5
Remove im.offset, deprecated in 2001; and fromstring and tostring, deprecated in 2013
2020-07-17 10:55:20 +03:00
nulano
7ce6a15062
Merge remote-tracking branch 'upstream/master' into refs-animated
...
# Conflicts:
# docs/reference/Image.rst
2020-07-11 12:33:36 +02:00
nulano
73c5dffb5a
fix ImageTransformHandler and ImagePointHandler references
2020-07-11 13:25:10 +10:00
nulano
0083ebb3d4
fix various reference typos
2020-07-11 13:25:10 +10:00
nulano
74899cd6cf
Merge branch 'master' into refs-animated
2020-07-02 12:58:09 +01:00
nulano
9019af5f32
Merge branch 'master' into refs-const
2020-06-28 10:55:26 +01:00
Andrew Murray
4ae694cd7b
Merge pull request #4712 from cool-RR/2020-06-12-raise-from
...
Fix exception causes all over the codebase
2020-06-28 15:22:05 +10:00
nulano
f5b4565d8c
document is_animated and n_frames
2020-06-27 17:24:13 +02:00
nulano
3342270947
fix Image constants references
...
(cherry picked from commit 5511111f3b
)
2020-06-27 15:39:55 +02:00
Andrew Murray
ee06255ff0
Deprecated _showxv
2020-06-23 22:20:58 +10:00
Andrew Murray
9979efff12
Merge pull request #4646 from nulano/show-command
...
Deprecate Image.show(command="...")
2020-06-23 19:47:57 +10:00
nulano
c15dda4308
fix typo
...
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-06-21 12:16:27 +01:00
Andrew Murray
34ba2ae139
Removed comments suggesting users override functions
2020-06-21 20:26:10 +10:00
Ram Rachum
2f0d430807
Fix exception causes all over the codebase
2020-06-21 13:21:25 +03:00
nulano
2155c16ae0
improve warning wording
...
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-06-20 12:00:30 +01:00
nulano
5e8854b8db
add note about overriding Image.show behaviour
2020-06-15 14:54:38 +02:00
nulano
097104278b
add docs for features module
2020-06-13 04:28:02 +02:00
Andrew Murray
09d58147ca
Changed errors to be code formatted, instead of bold
2020-06-12 23:57:21 +10:00
Hugo van Kemenade
794e9f0f0e
Merge pull request #4637 from radarhere/v2
...
Use ImageFileDirectory_v2 in Image.Exif
2020-06-10 06:55:15 +03:00
Andrew Murray
0cc2e696cb
Corrected reading EXIF metadata without prefix
2020-06-07 20:01:04 +10:00
Hugo van Kemenade
4363507d16
Merge pull request #4608 from radarhere/numpy
2020-06-03 18:43:47 +03:00
Andrew Murray
ccac9e1a3a
Changed to ImageFileDirectory_v2
2020-06-03 22:11:51 +10:00
Hugo van Kemenade
02d55b79c1
Merge pull request #4560 from radarhere/xmp
2020-06-01 10:49:00 +03:00
nulano
66954ad176
deprecate Image.show(command="...")
2020-05-25 18:57:02 +02:00
Andrew Murray
b8ec793898
Fixed ZeroDivisionError in thumbnail
2020-05-15 18:29:52 +10:00
Andrew Murray
59957fb8d8
Added support for 1-D NumPy arrays
2020-05-04 20:07:23 +10:00
Andrew Murray
d5c3814691
Changed default offset for Exif
2020-05-01 19:43:37 +10:00
Andrew Murray
b65e72b2fc
Updated example code to new-style class [ci skip]
2020-04-23 20:05:30 +10:00
Hugo
d21e45536a
Link to Filters concept from methods' parameters [CI skip]
2020-04-23 11:18:24 +03:00
Andrew Murray
f21816918e
Allow ImageMagick zTXt chunks to be extracted after copy()
2020-04-16 21:14:19 +10:00
Andrew Murray
1e63f772f8
Parse orientation from XMP tags
2020-04-16 21:05:34 +10:00
Hugo
dda6145fce
Since Python 3.3 IOError and WindowsError have been merged into OSError
2020-04-10 12:57:29 +03:00
Hugo van Kemenade
761edafed8
Merge branch 'master' into re-add-PILLOW_VERSION
2020-03-31 12:07:14 +03:00
Andrew Murray
7597a9fbfd
Raise warning for more operations
2020-03-31 17:41:47 +11:00
Hugo
afa758eb33
Re-add deprecated PILLOW_VERSION to give projects more time to upgrade
2020-03-29 18:36:37 +03:00
Andrew Murray
ff6ca4159a
Prevent masking Image reduce method
2020-03-29 16:27:29 +11:00
orlnub123
84c33abaa0
Make key an argument
2020-02-22 12:30:10 +00:00
orlnub123
8f21d0ddf0
Improve rounding
2020-02-21 23:38:38 +00:00
orlnub123
2e716de63d
Floor the size
2020-02-16 21:26:17 +11:00
orlnub123
e226e4ed64
Don't upscale if the image is smaller than the size
2020-02-16 21:25:51 +11:00
orlnub123
e9ef1d236d
Fix size calculation of Image.thumbnail()
2020-02-16 21:25:51 +11:00
Alexander
54f3dc6006
Math functions return int in Python 3
2020-02-08 00:34:53 +03:00
Hugo van Kemenade
892aec306b
Merge pull request #4385 from jdufresne/try-block
...
Limit try block to code expected to raise an exception
2020-01-26 20:04:39 +02:00
Jon Dufresne
bd71374cd2
Limit try block to code expected to raise an exception
...
In the off chance that the additional code in decoder()/encoder() raise
a KeyError or AttributeError, a bug could be hidden.
2020-01-26 07:10:22 -08:00
Jon Dufresne
63729766c4
Remove unnecessary coerce to float
...
In Python 3, the division operator is floating point division. No longer
need to coerce integers to floating point numbers before division.
2020-01-26 06:33:18 -08:00
Andrew Murray
6a7ac38c6c
extents are not used by map_buffer
2020-01-26 13:22:23 +11:00
Alexander
34029e9af4
texts fixes
2019-12-30 03:23:30 +03:00
Alexander
1bd9b16e97
wording
2019-12-27 15:35:17 +03:00
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
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
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
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
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
cdd1253211
notes fixes
...
skip-checks: true
2019-12-18 01:09:54 +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
5283141417
Merge branch 'master' into reduce
2019-12-05 14:23:28 +03:00
Alexander
778b5f9fed
add box parameter
2019-12-04 23:13:20 +03: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
Alexander
8b6ad4a471
tests for supported modes
2019-11-26 03:39:57 +03:00
Alexander
335f5431de
dummy method
2019-11-24 17:39:49 +03: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
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
12a725988e
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-16 17:10:10 +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
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
cc63f66575
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-01 13:22:56 +02: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
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
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
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
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
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
f61af2fed0
Merge pull request #4107 from hugovk/rm-deprecated-PILLOW_VERSION
...
Remove deprecated PILLOW_VERSION
2019-10-03 20:52:48 +10:00
Hugo
f898ccbaf8
Remove deprecated PILLOW_VERSION
2019-10-01 14:43:15 +03: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
Andrew Murray
82f4a0d8f2
Changed WindowsViewer format to PNG
2019-09-21 09:11:32 +10:00
Andrew Murray
0009646a41
Corrected comment [ci skip]
2019-09-16 21:06:13 +10:00
Andrew Murray
ef16cb8efe
ImageFileDirectory_v1 does not raise KeyError
2019-09-07 18:31:23 +10:00
Andrew Murray
f3ed44a566
Changed the Image getexif method to return a shared Exif instance
2019-08-23 06:13:20 +10:00
Andrew Murray
0b405c86be
Lazily use ImageFileDirectory_v1 values from Exif
2019-08-18 23:03:43 +10:00
Andrew Murray
75fe92fa88
Updated documentation [ci skip]
2019-08-16 19:16:06 +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
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
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
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
Jon Dufresne
3f2cfb2027
Remove unnecessary numeric placeholders from format strings
...
Unnecessary since Python 2.7.
2019-05-26 07:07:32 -07:00
Andrew Murray
e9c0cf61f3
Fixed palette for LA and PA mode when pickling
2019-05-11 14:43:00 +10:00
Andrew Murray
691df96734
Fixed opening mmap image through Path on Windows
2019-05-04 15:00:49 +10:00
Andrew Murray
40bc46ff49
Moved ImageFile.Exif to Image.Exif
2019-04-01 20:03:02 +11:00
Hugo
4f8cfd536b
Merge pull request #3721 from radarhere/quantize
...
Update palette in quantize
2019-03-30 12:07:38 +02:00
Andrew Murray
dba38912fb
Allow putpalette for LA and PA
2019-03-29 23:13:50 +11: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
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
Andrew Murray
4a5666f1f4
Added transparency for all PNG greyscale modes
2019-03-27 07:41:33 +11:00
Andrew Murray
81cfede546
Corrected remap_palette documentation [ci skip]
2019-03-23 09:36:59 +11: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