Commit Graph

3254 Commits

Author SHA1 Message Date
Andrew Murray
8b14a67347 Merge branch 'main' into grabclipboard-linux 2023-08-21 23:58:17 +10:00
Andrew Murray
0a28840bc4 Expand buffer size when optimizing or progressive 2023-08-19 14:34:08 +10:00
Andrew Murray
a04ba81e22 bufsize is already increased to MAXBLOCK in ImageFile._save() 2023-08-19 12:37:00 +10:00
TheNooB
e06edcb527
Reformat variable name following PEP8
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-08-12 18:33:36 +08:00
Andrew Murray
9f54a11a9c Improve efficiency when a radius is zero 2023-08-12 18:17:07 +10:00
TheNooB
0b6ab79145
Check session type using environment variable instead of loginctl 2023-08-12 12:51:09 +08:00
Andrew Murray
c167d7a269 Allow GaussianBlur and BoxBlur to accept a sequence of x and y radii 2023-08-12 12:09:20 +10:00
TheNooB
7b157b045a
Use os.getlogin() instead of whoami command for getting username 2023-08-11 21:14:34 +08:00
TheNooB
a8b3feac86
Apply suggestions from code review
Simplify conditional expressions

Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-08-11 21:01:05 +08:00
pre-commit-ci[bot]
164ea2df6f [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-08-11 10:42:12 +00:00
TheNooB
bc658e1791
Add session type check in grabclipboard for Linux 2023-08-11 17:47:36 +08:00
Andrew Murray
39d866b17d
Merge pull request #7311 from k128/main
Read WebP duration after opening
2023-08-11 19:46:49 +10:00
Andrew Murray
bfafa460e3 Allow "loop=None" when saving 2023-08-09 10:31:34 +10:00
Andrew Murray
649ad8a804
Merge pull request #7323 from radarhere/pdf_p_transparency
Fixed transparency when saving P mode images to PDF
2023-08-08 21:30:23 +10:00
Andrew Murray
15930be644 Use "is" when comparing types 2023-08-08 08:44:03 +10:00
Andrew Murray
5c59807216 Removed unused decoders 2023-08-07 13:54:11 +10:00
Andrew Murray
a70ea82eb5 Write P transparency as SMask 2023-08-07 13:53:19 +10:00
Andrew Murray
c9147c9c85 Moved writing of object into separate function 2023-08-06 22:14:32 +10:00
Andrew Murray
6bd3ed439a Ignore IPTC field that is only zero bytes 2023-08-04 23:54:48 +10:00
Andrew Murray
c5b4ad94e8 Do not set ColorSpace for JPXDecode since it is optional 2023-08-04 18:47:28 +10:00
Andrew Murray
bc11b2d6a9 Set SMaskInData to 1 for PDFs with alpha 2023-08-04 18:46:58 +10:00
Hugo van Kemenade
95257dff87
Merge pull request #7299 from radarhere/pdf 2023-08-04 11:43:09 +03:00
Andrew Murray
6ca38552c9 Do not set ColorSpace for JPXDecode since it is optional 2023-08-03 22:07:36 +10:00
Andrew Murray
ddfb7ef14b Do not set BitsPerComponent for JPXDecode since it is ignored 2023-08-03 22:05:11 +10:00
Andrew Murray
022e650d18 Set SMaskInData to 1 for PDFs with alpha 2023-08-03 19:11:35 +10:00
Andrew Murray
6115d5957f _decoder.get_next() may return None 2023-08-01 19:16:28 +10:00
Andrew Murray
230a2e3a33 If "reset" is always true, then the argument can be removed 2023-08-01 19:15:15 +10:00
k128
15e5229030
Update WebPImagePlugin.py 2023-07-31 15:32:05 -04:00
pre-commit-ci[bot]
2f5493a5f0 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-07-31 19:19:57 +00:00
k128
27a0339d64
Update WebPImagePlugin.py
Automatically load duration
2023-07-31 15:14:22 -04:00
Hugo van Kemenade
c1c474a1f2
Merge pull request #7307 from radarhere/mode 2023-07-31 17:14:10 +03:00
Andrew Murray
07038d7e89
Merge pull request #7266 from mtreinish/handle-repr-exceptions
Handle exceptions in _repr_jpeg_ and _repr_png_
2023-07-31 11:42:44 +10:00
Andrew Murray
00cec60c35 Added CMYK to RGB unpacker 2023-07-29 21:05:33 +10:00
Andrew Murray
9979a822c7 Changed Image mode property to be read-only by default 2023-07-29 09:28:18 +10:00
Andrew Murray
9bd574058e Support BGR;15, BGR;16 and BGR;24 in putdata 2023-07-26 20:09:40 +10:00
Andrew Murray
5fa05623ff Added BGR;15, BGR;16 and BGR;24 unpacking 2023-07-26 20:09:40 +10:00
Andrew Murray
3230270aa7 Added BGR;15, BGR;16 and BGR;24 access 2023-07-26 20:09:40 +10:00
Andrew Murray
07623d1a7c
Merge pull request #7305 from hugovk/docs-clarify-textlength-return
Docs: Clarify that a single value is returned, and depends on the text direction
2023-07-26 08:16:34 +10:00
Hugo van Kemenade
62cd236d1a Clarify that a single value is returned, and depends on the text direction 2023-07-25 12:31:58 +03:00
Andrew Murray
2db354af43 Allow saving I;16B images as PNG 2023-07-24 17:17:15 +10:00
Andrew Murray
e5c94eced2 Simplified code 2023-07-23 16:26:42 +10:00
Andrew Murray
0a0a3fc51f Added saving LA images as PDFs 2023-07-22 20:16:45 +10:00
Andrew Murray
c108d9ddb0 Set alpha channel when saving LA in OpenJPEG 2023-07-22 20:05:31 +10:00
Andrew Murray
577a4d8bf8 Change get_pixel to be specific to images with 2 bands 2023-07-21 21:08:20 +10:00
Andrew Murray
7ffad80294 Removed put_pixel 2023-07-21 20:59:28 +10:00
Andrew Murray
32eec53c43 Removed comment 2023-07-17 23:50:59 +10:00
Andrew Murray
fd310512b9 Set C palette to be empty by default 2023-07-17 23:04:43 +10:00
Andrew Murray
7bfc6f16dc Set undefined palette values to black 2023-07-17 09:26:24 +10:00
Andrew Murray
a682ceaf47 Do not use transparency if it has been removed when normalizing mode 2023-07-13 15:20:44 +10:00
Andrew Murray
3f78ba80f9 Do not require curly bracket in tag name 2023-07-10 22:05:28 +10:00
Andrew Murray
2488167f33 Allow for zero-byte padding at end of XMP data 2023-07-10 22:00:30 +10:00
Andrew Murray
ba9c830b03 Corrected writing I;16 text 2023-07-08 11:30:48 +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
Andrew Murray
5e2332a200 Corrected drawing I;16 points 2023-07-05 08:49:56 +10:00
Yay295
e7398c7888 update PyTypeObject slot names
tp_print was renamed to tp_vectorcall_offset with Python 3.8, and tp_compare was renamed to tp_as_async with Python 3.5.
tp_size has always been tp_basicsize; I don't know why that one was wrong.
2023-07-02 00:52:08 -05:00
Andrew Murray
1ffe3354d7 10.1.0.dev0 version bump 2023-07-02 00:59:40 +10:00
Andrew Murray
6e28ed1f36 10.0.0 version bump 2023-07-01 22:08:11 +10:00
Andrew Murray
74859e965d Moved MAX_IMAGE_PIXELS check to Python 2023-07-01 20:52:44 +10:00
Andrew Murray
39a3b1d83e Fixed deallocating mask images 2023-07-01 18:09:27 +10:00
Andrew Murray
d398fedb9d
Added underscores for readability
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-07-01 07:25:18 +10:00
Andrew Murray
1fe1bb49c4 Added ImageFont.MAX_STRING_LENGTH 2023-06-30 23:32:26 +10:00
Hugo van Kemenade
0ac3677b56
Merge pull request #7199 from radarhere/tiff_close 2023-06-30 09:27:26 +03: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
8a36b0fc2d Deprecate PyAccess 2023-06-28 20:10:10 +10: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
45c9dcf123 Restored 32-bit support 2023-06-27 14:43:58 +10:00
Hugo van Kemenade
190c53a1b1
Merge pull request #7228 from radarhere/32bit
Removed support for 32-bit
2023-06-24 19:02:00 +03:00
Andrew Murray
0d54cf5c7f
Merge pull request #6645 from Yay295/int_def
Better C integer definitions
2023-06-24 13:35:23 +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
d6f19625e8 Removed support for 32-bit 2023-06-23 21:52:00 +10:00
Andrew Murray
cb8956fffb Convert to HSV if mode is HSV in getcolor() 2023-06-22 23:27:45 +10:00
Hugo van Kemenade
d64739f4d1
Merge pull request #7218 from radarhere/null 2023-06-18 21:50:46 +03:00
Andrew Murray
e52fa8fe38 Use relevant extension for temporary file 2023-06-17 14:37:13 +02:00
Antoine Beyeler
f72dd8576e Changed grabclipboard() to use PNG compression on macOS
Before, a lossy JPG compression was used.
2023-06-17 12:55:58 +02:00
Andrew Murray
fd9bea271a
Compare long long with long long
Co-authored-by: Ondrej Baranovič <ondreko.tiba@gmail.com>
2023-06-17 14:39:34 +10:00
Andrew Murray
7044038e70 Fixed decompression bomb check 2023-06-17 14:35:44 +10:00
Andrew Murray
98cc2e63ac Destroy image on error 2023-06-15 14:27:38 +10:00
Andrew Murray
618c00c4ea Return early if image is null 2023-06-15 14:27:33 +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
7d97fa8b86 Use snake case 2023-06-14 16:12:47 +10:00
Hugo van Kemenade
76a8e9ceb3
Merge pull request #7177 from radarhere/freetype 2023-06-14 09:06:59 +03:00
Andrew Murray
541d2605b9 Allow alpha differences to indicate different frames when saving GIF 2023-06-14 14:21:07 +10: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
f338f35657 Changed inPlace to be keyword-only argument 2023-06-14 10:01:36 +10:00
Andrew Murray
8bbd4ada9b Merge branch 'main' into exif_transpose 2023-06-14 09:57:25 +10:00
Andrew Murray
68edbbca94 Merge branch 'main' into int_def 2023-06-14 09:11:41 +10:00
Andrew Murray
538971532d Corrected error code
Co-authored-by: nulano <nulano@nulano.eu>
2023-06-14 08:55:21 +10:00
Andrew Murray
c24c1ccf81 Use "not in"
Co-authored-by: Aarni Koskela <akx@iki.fi>
2023-06-14 08:52:55 +10:00
Hugo van Kemenade
8f3ccff8f2
Merge pull request #7206 from radarhere/text_layout 2023-06-13 20:31:24 +03:00
Hugo van Kemenade
c62c514299
Merge pull request #7187 from radarhere/putpalette 2023-06-13 20:10:33 +03:00
Hugo van Kemenade
9d08c8247d
Merge pull request #7180 from radarhere/int64 2023-06-13 20:08:26 +03:00
Hugo van Kemenade
ae921956ba
Merge pull request #7078 from radarhere/long8 2023-06-13 19:48:55 +03:00
Hugo van Kemenade
0c7061e7e4
Merge pull request #7056 from radarhere/eps 2023-06-13 19:47:55 +03:00
Andrew Murray
1756df4615 Removed unused private method 2023-06-10 20:24:34 +10:00
Andrew Murray
4dcca33d30 Removed unused arguments 2023-06-10 19:06:25 +10:00
Andrew Murray
389ad11693 Only call text_layout once in getmask2 2023-06-10 17:10:42 +10:00
Andrew Murray
aeb6e9909e Removed unused argument 2023-06-10 15:57:05 +10:00
Andrew Murray
748a4d0fcd Removed unused variable 2023-06-10 14:26:28 +10:00
Andrew Murray
da6b2ec285 Document order of kernel weights 2023-06-09 10:47:20 +10:00
Andrew Murray
15edb6d625 Fixed signedness comparison warning 2023-06-07 22:33:55 +10:00
mergify[bot]
6b3991befb
Merge pull request #7146 from radarhere/apng_duration
Fixed combining single duration across duplicate APNG frames
2023-06-06 08:57:02 +00:00
Andrew Murray
400716da0d Merge branch 'main' into apng_duration 2023-06-06 18:00:48 +10:00
Andrew Murray
3b65261c96 Remove temporary file when error is raised 2023-06-06 17:54:55 +10:00
Hugo van Kemenade
07be6aad46
Merge pull request #7200 from radarhere/imagegrab
Do not use temporary file when grabbing clipboard on Linux
2023-06-06 09:35:03 +03:00
Hugo van Kemenade
3568df8af1
Merge pull request #7141 from radarhere/grabclipboardwin32 2023-06-06 09:24:13 +03:00
Hugo van Kemenade
df873e39db
Merge pull request #7181 from radarhere/gif 2023-06-06 09:22:57 +03:00
Andrew Murray
97bd53392c Do not use temporary file when grabbing clipboard on Linux 2023-06-05 18:36:41 +10:00
Andrew Murray
0835be95cb Added comment 2023-06-05 15:07:11 +10:00
Andrew Murray
e45da2ae17 Do not close provided file handles with libtiff 2023-06-05 11:07:09 +10:00
Hugo van Kemenade
9a560c78a8
Merge pull request #7173 from radarhere/relative 2023-06-02 16:00:01 +03:00
Andrew Murray
c45019fe0c Replaced deprecated Py_FileSystemDefaultEncoding for Python >= 3.12 2023-05-29 12:28:03 +10:00
Andrew Murray
07eccd9798 Fixed calling putpalette() on L and LA images before load() 2023-05-28 06:44:34 +10:00
Andrew Murray
922e239cca Fixed saving multiple 1 mode images to GIF 2023-05-24 08:55:14 +10:00
Andrew Murray
b8719033ca Removed unused INT64 definition 2023-05-23 22:53:16 +10:00
Andrew Murray
bce0f0d5a6 Moved function code inline 2023-05-23 21:25:11 +10:00
rrcgat
fffcb558f6
Use image/png mime type for ImageGrab (wl-paste) if possible, otherwise the first mime type taken 2023-05-23 18:44:25 +08:00
Andrew Murray
c656583b84 Merge branch 'main' into fix-imagegrab-with-wl-paste 2023-05-23 08:47:42 +10:00
Andrew Murray
546f6cbc27 Replaced absolute PIL import with relative import 2023-05-20 17:11:43 +10:00
Yay295
f6b516bb06 Adjust C preprocessor block labels
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-05-19 08:11:39 -05:00
Yay295
724f266460 change INT16 def failure to an error 2023-05-18 17:49:13 -05:00
Yay295
9da0b58eea move INT8 def to top 2023-05-18 17:49:13 -05:00
Yay295
fbec8f19dd add check for C99+ to use their defs if possible 2023-05-18 17:49:13 -05:00
Yay295
c2527348ec add comment explaining why #define and not typedef 2023-05-18 17:49:13 -05:00
Yay295
e9cfe4b6a2 label preprocessor if..else..endif for clarity 2023-05-18 17:49:13 -05:00
Yay295
6de5e999bd add UINT64 def if INT64 is defined 2023-05-18 17:49:12 -05:00
Yay295
509671c53e fix INT64 def and add warning if not set 2023-05-18 17:49:12 -05:00
Hugo van Kemenade
a58034b86c
Merge pull request #7135 from n3011/jpg_repr 2023-05-16 12:14:40 +03:00
Hugo van Kemenade
34ff170d8e
Merge pull request #7143 from nulano/imagegrab-prefer-xcb
Prefer screenshots using XCB over gnome-screenshot
2023-05-14 19:55:16 +03: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
Andrew Murray
7e29efd518 Do not catch OSError raised when loading image 2023-05-11 16:29:08 +01:00
Andrew Murray
3ec03c6720
Only check for gnome-screenshot on Linux
Co-authored-by: Ondrej Baranovič <3819630+nulano@users.noreply.github.com>
2023-05-10 13:53:55 +10:00
Andrew Murray
c68c508e27 Fixed joined corners for odd dimensions 2023-05-10 13:25:35 +10:00
Andrew Murray
a0b691a219 Fixed combining single duration across duplicate PNG frames 2023-05-09 12:12:16 +10:00
nulano
bb18abc603
prefer screenshots using XCB over gnome-screenshot 2023-05-08 22:57:12 +01:00
Andrew Murray
f67fcf131a If the clipboard fails to open on Windows, wait and try again 2023-05-08 11:58:05 +10:00
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