Commit Graph

556 Commits

Author SHA1 Message Date
Andrew Murray
69a81dd867 Convert list to tuple in Python instead of C 2023-08-28 22:43:20 +10:00
Hugo van Kemenade
c1c474a1f2
Merge pull request #7307 from radarhere/mode 2023-07-31 17:14:10 +03:00
Andrew Murray
9979a822c7 Changed Image mode property to be read-only by default 2023-07-29 09:28:18 +10:00
Andrew Murray
e5c94eced2 Simplified code 2023-07-23 16:26:42 +10:00
Andrew Murray
fd310512b9 Set C palette to be empty by default 2023-07-17 23:04:43 +10:00
Andrew Murray
3f78ba80f9 Do not require curly bracket in tag name 2023-07-10 22:05:28 +10:00
Matthew Treinish
9517feccd9
Update src/PIL/Image.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-07-06 09:00:00 -04:00
Matthew Treinish
6d440ac995
Handle exceptions in _repr_jpeg_ and _repr_png_
In 10.0.0 a _repr_jpeg_ implementation was added to the Image object to
enable the use of display_jpeg() in IPython environments. However, in
some cases the implementation of this method could result in an
exception being raised while trying to generate the jpeg data. The best
example is if the image data is in an RGBA format as a result of the
object being created by opening a PNG file. In this case trying to save
the Image object as a jpeg will error because the jpeg format can't
represent the transparency in the alpha channel. This results in an
exception being raised in the IPython/Jupyter context when outputing the
image object. However, in cases like this IPython allows the repr
methods to return None to indicate there is no representation in that
format available. [1] This commit updates the _repr_png_ and _repr_jpeg_
methods to catch any exception that might be raised while trying to
generate the image data. If an exception is raised we treat that as not
being able to generate image data in that format and return None
instead.

Related to #7259

[1] https://ipython.readthedocs.io/en/stable/config/integrating.html#custom-methods
2023-07-06 08:42:37 -04:00
Hugo van Kemenade
9abef1ad0b
Merge pull request #7226 from radarhere/getcolor 2023-06-30 09:26:51 +03:00
Hugo van Kemenade
be4bfaac9e
Merge pull request #7123 from radarhere/apng 2023-06-30 09:24:20 +03:00
Andrew Murray
0740499151 Prioritise speed in _repr_png_ 2023-06-30 09:05:59 +10:00
Hugo van Kemenade
1174a9e7f4
Merge pull request #7097 from radarhere/seek
`Image.open()` seeks to the start of file objects
2023-06-30 01:05:47 +03:00
Andrew Murray
811bfe3658 Do not use CFFI access by default on PyPy 2023-06-28 17:57:02 +10:00
Andrew Murray
8437d98f7f Limit size even if one dimension is zero 2023-06-28 11:43:05 +10:00
Andrew Murray
b0b0798820
Lint fix 2023-06-23 22:22:33 +10:00
Rozie
43a12542ad
Update Image.show docs to list all viewers used on linux
[ci skip]
Accurate description of how default viewer is chosen
2023-06-23 15:05:28 +03:00
Andrew Murray
cb8956fffb Convert to HSV if mode is HSV in getcolor() 2023-06-22 23:27:45 +10:00
mergify[bot]
561986ee71
Merge pull request #7092 from radarhere/exif_transpose
Added in_place argument to ImageOps.exif_transpose()
2023-06-14 07:24:47 +00:00
Andrew Murray
044de40c93 Document that alpha_only is a keyword-only argument 2023-06-14 11:28:14 +10:00
Andrew Murray
17b19b5668 Merge branch 'main' into apng 2023-06-14 11:26:42 +10:00
Andrew Murray
d7c7b832f1
Highlight code
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-06-14 11:25:42 +10:00
Andrew Murray
bae918280d
Changed alpha_only to keyword-only argument
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-06-14 11:25:12 +10:00
Andrew Murray
8bbd4ada9b Merge branch 'main' into exif_transpose 2023-06-14 09:57:25 +10:00
Andrew Murray
c24c1ccf81 Use "not in"
Co-authored-by: Aarni Koskela <akx@iki.fi>
2023-06-14 08:52:55 +10:00
Andrew Murray
aeb6e9909e Removed unused argument 2023-06-10 15:57:05 +10:00
Ishant Mrinal Haloi
f328383763
Apply suggestions from code review
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-05-14 11:11:56 +05:30
Andrew Murray
59b7a48570 Updated docstrings 2023-05-13 12:24:50 +10:00
Ishant Mrinal Haloi
2db9c68571
Apply suggestions from code review
Co-authored-by: Ondrej Baranovič <3819630+nulano@users.noreply.github.com>
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-05-13 07:32:02 +05:30
Ishant Mrinal Haloi
46708099b1
Apply suggestions from code review
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-05-12 21:56:40 +05:30
Ishant Mrinal Haloi
ccdce1791d rename format to image_format 2023-05-06 10:35:28 +05:30
Ishant Mrinal Haloi
2d841e16c2
Apply suggestions from code review
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-05-06 10:31:58 +05:30
Ishant Mrinal Haloi
5377b0735f add _repr_jpg_ for ipython display
Signed-off-by: Ishant Mrinal Haloi <mrinal.haloi11@gmail.com>
2023-05-04 21:43:57 +05:30
Andrew Murray
15ef533df9 Added alpha_only argument to getbbox() 2023-05-02 08:41:18 +10:00
Alexander Piskun
b10379b3c1
Load image before deepcopy(__getstate__)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2023-04-21 17:42:45 +03:00
Andrew Murray
cc84ff5e7d Note that open() seeks to the start of file objects 2023-04-17 16:10:29 +10:00
Andrew Murray
fe8599c5d6 Use ExifTags 2023-04-16 14:04:39 +10:00
Andrew Murray
2cba9904db Removed _category 2023-04-08 11:48:06 +10:00
Hugo van Kemenade
b25bf5161a Remove Image.coerce_e, deprecated in 9.2.0 2023-04-06 16:11:36 +03:00
Hugo van Kemenade
c8ec15980b Remove constants deprecated in 9.1.0 2023-04-06 16:11:36 +03:00
Hugo van Kemenade
ddc4e90235 Remove im.category and related Image.NORMAL, Image.SEQUENCE, Image.CONTAINER, deprecated in 8.2.0 2023-04-06 16:11:36 +03:00
Yay295
b606da7f0e
add missing word 2023-03-31 07:19:33 -05:00
Andrew Murray
485532c1f3 Mention available pixel types when converting from NumPy 2023-03-31 21:00:28 +11:00
Andrew Murray
e95b55acd4 Document loss of palette when converting to NumPy 2023-03-31 20:48:14 +11:00
Andrew Murray
6a931861fe Load before getting size in __array_interface__ 2023-03-23 10:12:18 +11:00
Andrew Murray
fcc59a4001 Use existing variable names from ImageFile 2023-02-25 16:31:26 +02:00
Aarni Koskela
b6b72170a8 Clarify variable names in Image
Co-authored-by: Yay295 <Yay295@users.noreply.github.com>
2023-02-24 09:59:54 +02:00
Andrew Murray
da38395396
Removed quotes from result in docstring 2023-02-12 21:56:23 +11:00
Andrew Murray
a8e03e4dab Added Exif code examples 2023-02-10 20:11:50 +11:00
pre-commit-ci[bot]
074c6afdc7 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-09 04:41:00 +00:00
Vladimir
0eac4f1942
Fix syntax 2023-02-08 20:34:45 -08:00
Vladimir
1656753146
Add docstrings for getixif() and Exif 2023-02-07 22:48:33 -08:00
pre-commit-ci[bot]
24183d652e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-06 19:27:19 +00:00
Andrew Murray
3e37a919b1 Prevent register_open from adding duplicates to ID 2023-01-28 22:43:04 +11:00
Andrew Murray
bf0abdca27 Do not retry past formats when loading all formats for the first time 2023-01-19 08:06:30 +11:00
Andrew Murray
5f9285eea6 Do not retry specified formats if they failed 2023-01-14 23:22:35 +11:00
Hugo van Kemenade
2df4865e42 Use 'key in mydict' instead of 'key in mydict.keys()' 2023-01-08 13:47:46 +02:00
Andrew Murray
d4d981dc9f Updated size parameter descriptions 2023-01-02 08:41:50 +11:00
Andrew Murray
b4347daa3c Merge branch 'main' into enum 2022-12-31 09:37:56 +11:00
Andrew Murray
68fdd2a9e7 Further improve exception traceback readability 2022-12-30 14:24:28 +11:00
Hugo van Kemenade
2ae55ccbda Improve exception traceback readability 2022-12-30 00:07:52 +02:00
Andrew Murray
1e3f3ab596 Do not attempt to read IFD1 if absent 2022-12-29 21:52:09 +11:00
Hugo van Kemenade
1a93e84355
Merge pull request #6798 from radarhere/apply_transparency 2022-12-28 16:49:59 +02:00
Andrew Murray
bcdb208fe2 Restored Image constants, except for duplicate Resampling attributes 2022-12-28 09:44:53 +11:00
Hugo van Kemenade
0934c25686
Merge pull request #6762 from radarhere/exif_hide_offsets 2022-12-23 16:05:21 +02:00
Andrew Murray
9dfba1fe2b Merge branch 'main' into exif_hide_offsets 2022-12-22 09:03:11 +11:00
Andrew Murray
c6d1fddba5 Merge branch 'main' into registered_extensions 2022-12-22 07:45:52 +11:00
Hugo van Kemenade
acdb882aae
Merge pull request #6793 from radarhere/tile 2022-12-21 16:56:41 +02:00
Andrew Murray
2a86d7353f Always initialize all plugins in registered_extensions() 2022-12-19 08:19:15 +11:00
Andrew Murray
5301b86f1c Use snake case 2022-12-14 06:48:36 +11:00
Andrew Murray
f6f622dcee Clarify apply_transparency() docstring 2022-12-12 06:36:27 +11:00
Andrew Murray
4f0b83cc54 Only set tile in ImageFile __setstate__ 2022-12-09 12:29:27 +11:00
Andrew Murray
c2a42655e1 Allow get_child_images to access JPEG thumbnails 2022-12-06 19:30:53 +11:00
Andrew Murray
8ada23ed04 Added IFD1 reading 2022-12-05 09:09:00 +11:00
Andrew Murray
a0326245a2 Removed typo 2022-11-28 08:40:04 +11:00
Andrew Murray
24a5405a9f Added IFD enum 2022-11-28 08:39:56 +11:00
Andrew Murray
3473eb8e7f Added Exif hide_offsets() 2022-11-26 15:44:03 +11:00
Hugo van Kemenade
bb2016794f
Merge pull request #6647 from radarhere/rgb2lab 2022-10-19 10:32:03 +02:00
Hugo van Kemenade
87a9d7197e
Merge pull request #6644 from radarhere/convert 2022-10-19 10:22:00 +02:00
Andrew Murray
a4b257269e Image channel is used when converting PA with an RGBA palette 2022-10-13 20:21:39 +11:00
Hugo van Kemenade
c2efd60e22
Merge pull request #6594 from radarhere/numpy 2022-10-12 12:57:51 +02:00
Andrew Murray
fcd3eef594 Added conversion between RGB/RGBA/RGBX and LAB 2022-10-07 22:33:45 +11:00
Andrew Murray
b8cd3e72a6 Do not attempt normalization if image is already normal 2022-10-07 09:48:56 +11:00
Hugo van Kemenade
f73499e475
Merge pull request #6543 from radarhere/remap_palette 2022-09-21 12:45:26 +03:00
Andrew Murray
d02f91c6da Raise a warning if NumPy will not raise an error during conversion 2022-09-17 20:11:55 +10:00
Hugo van Kemenade
9b53e3b581
Merge pull request #6539 from radarhere/thumbnail
Do not call load() before draft() in Image.thumbnail
2022-09-11 19:15:01 +03:00
Andrew Murray
a36b766d36 Simplified enum references 2022-09-03 20:53:22 +10:00
Andrew Murray
9fa421923c Removed requirement for 256 palette entries 2022-08-28 15:58:30 +10:00
Andrew Murray
38b53a9fd7 Do not call load() before draft() 2022-08-26 20:33:51 +10:00
Andrew Murray
a37593f004 Allow RGB and RGBA values for PA image putpixel 2022-08-14 14:34:42 +10:00
Andrew Murray
f42e255206 Simplified code 2022-07-26 11:58:44 +10:00
Alexander Piskun
6e97da0260
fixing xmp tag orientation generated by exiftool 2022-07-26 00:30:32 +03:00
Tim Gates
dfa6655bdd
docs: fix simple typo, unpredicatable -> unpredictable
There is a small typo in src/PIL/Image.py.

Should read `unpredictable` rather than `unpredicatable`.

Signed-off-by: Tim Gates <tim.gates@iress.com>
2022-07-16 19:04:42 +10:00
Andrew Murray
300f6c8a59 Document where to find other codecs 2022-07-04 19:33:21 +10:00
Andrew Murray
e5046b1057 Reverted to __array_interface__ with the release of NumPy 1.23 2022-06-24 23:08:36 +10:00
Hugo van Kemenade
8bd7e81b5d
Merge pull request #6352 from radarhere/apply_transparency
Added apply_transparency()
2022-06-11 17:58:10 +03:00
Andrew Murray
11be163143 Added apply_transparency() 2022-06-06 22:47:58 +10:00
Andrew Murray
4c8aff9798 Allow remapping P images with RGBA palettes 2022-06-06 00:12:48 +10:00
Hugo van Kemenade
b261e17907
Merge pull request #6335 from radarhere/exif 2022-06-01 16:36:03 +03:00
Hugo van Kemenade
27f5c4d8fb
Merge pull request #6176 from radarhere/gif_transparency
Improve transparency handling when saving GIF
2022-05-27 08:31:37 +02:00
Andrew Murray
b1885779a9 Once exif data is parsed, do not reload unless it changes 2022-05-27 07:54:54 +10:00