Commit Graph

2664 Commits

Author SHA1 Message Date
Benjamin Gilbert
ec17dc11ba Translate encoder error codes to strings
When decoding, we use raise_oserror() to convert codec error codes to
strings.  Adapt that code to be used when encoding as well.  Add a new
helper function that returns the exception so we can still raise
`from exc`.
2023-12-12 23:13:51 -06:00
Andrew Murray
4c7eeec4fc
Merge pull request #7600 from nulano/anchor-clarify-docs
Clarify default anchor alignment
2023-12-13 07:36:00 +11:00
Nulano
af2d976880 clarify default anchor alignment 2023-12-12 17:22:19 +01:00
pre-commit-ci[bot]
232094e065 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-06 21:45:26 +00:00
Andrew Murray
8b44116773 Merge branch 'main' into dds_rgb 2023-12-07 08:43:57 +11:00
Hugo van Kemenade
7cc0482804
Merge pull request #6486 from REDxEYE/improved_dds 2023-12-06 22:51:05 +02:00
Andrew Murray
e9afaee248
Merge pull request #7593 from florath/ImageStat_getextrema_opt
Optimize ImageStat.Stat._getextrema function
2023-12-06 17:27:56 +11:00
Andrew Murray
e43dd6610d
Merge pull request #7578 from radarhere/font
Handle pathlib.Path in FreeTypeFont
2023-12-06 12:09:16 +11:00
Andrew Murray
00c6a89177 Link to plugin 2023-12-06 11:10:20 +11:00
Andreas Florath
ed03954d9e
Merge branch 'main' into ImageStat_getextrema_opt 2023-12-05 16:39:18 +01:00
REDxEYE
9e6030f5a9
Rename _420_OPAQUE to OPAQUE_420
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-12-05 13:04:19 +03:00
Andrew Murray
0a66b98558
Merge pull request #7597 from hugovk/comprehensions
Use list comprehensions to create transformed lists
2023-12-05 18:56:49 +11:00
Andrew Murray
f2e478e968 Merge branch 'main' into improved_dds 2023-12-05 17:49:47 +11:00
Andrew Murray
b3f374333b
Merge pull request #7603 from sambvfx/bc4-dds
Added support for reading DX10 BC4 DDS images
2023-12-05 17:23:16 +11:00
Hugo van Kemenade
f7c3f2a447
Use underscore as throwaway variable
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-12-05 00:03:38 +02:00
Sam Bourne
8c5d5c7e6b Add support for BC4 dds files 2023-12-04 09:54:10 -08:00
Hugo van Kemenade
9601102724
Merge branch 'main' into comprehensions 2023-12-04 17:09:10 +02:00
Hugo van Kemenade
fe26900688
Merge pull request #7599 from florath/ImageStat_getcount_opt 2023-12-04 17:04:38 +02:00
Hugo van Kemenade
e92c07f402
Apply suggestions from code review
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
Co-authored-by: Alexander Karpinsky <homm86@gmail.com>
2023-12-04 16:34:39 +02:00
Andrew Murray
d042c4bc37 Added typing.IO to type hint 2023-12-04 22:26:14 +11:00
Andrew Murray
9a6c47a9d2 Merge branch 'main' into font 2023-12-04 22:25:58 +11:00
Andrew Murray
b51dcc070b
Merge pull request #7587 from radarhere/freetypefont
Moved error from truetype() to FreeTypeFont
2023-12-04 22:05:38 +11:00
Andrew Murray
b431e2c140
Merge pull request #7555 from radarhere/pdf_palette
Correct PDF palette size when saving
2023-12-04 21:54:01 +11:00
Andreas Florath
90e1e94530
Merge branch 'python-pillow:main' into ImageStat_getcount_opt 2023-12-04 10:36:21 +01:00
Andreas Florath
ac47b75953
Update src/PIL/ImageStat.py
Simplification of return statement

Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-12-04 10:27:30 +01:00
Hugo van Kemenade
27d7bd10c8 Use list comprehensions to create transformed lists 2023-12-03 21:59:44 +02:00
Andrew Murray
e072a12974 Corrected constant values 2023-12-02 21:36:17 +11:00
Andrew Murray
5aadeb5004 Moved _Tile to ImageFile 2023-12-02 21:36:17 +11:00
Andrew Murray
ab96324c12 Removed support for RGB bitcount 8 2023-12-02 21:36:17 +11:00
Andrew Murray
56b4822294 args may be a string or None 2023-12-02 21:36:17 +11:00
Andrew Murray
662cb229c2 Updated variable name to match tile 2023-12-02 21:36:17 +11:00
Andrew Murray
49578f0059
Merge branch 'main' into improved_dds 2023-12-02 21:35:20 +11:00
Andrew Murray
a6a612c6c5
Merge branch 'main' into fix-alpha-for-overlapping-glyphs 2023-12-02 21:33:29 +11:00
Andrew Murray
96fe0a103b Merge branch 'main' into ImageStat_getextrema_opt 2023-12-02 21:27:36 +11:00
Zach Nagengast
bd2977c518
Update src/PIL/ImageDraw.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-12-01 22:56:59 -08:00
Andrew Murray
0e523d9868 Fixed closing file pointer with olefile 0.47 2023-12-02 10:57:16 +11:00
Andreas Florath
7762dd382a Fixed spacing in _getextrema method
Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:53:44 +01:00
Andreas Florath
1b8f9d386b Optimize ImageStat.Stat._getextrema function
The optimzed function improves the performance.  The original function
always runs through the complete historgram of length 256 even if it
is possible to exit the loop early (break).

Running some tests I found performance improvements of factor >10
depending on the image.

Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:53:44 +01:00
Andreas Florath
e01354a2c8 Added space before colon
Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:52:27 +01:00
Andreas Florath
f7d40ce31c Removed functools and operator import which are not needed anymore
Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:52:27 +01:00
Andreas Florath
a04c6a27e8 Optimization of ImageStat.Stat._getcount method
The new implementation uses "sum" instead of the construct
"functools.reduce(operator.add, ...)". Test showed that the
new function is about three times faster than the original.
Also it is shorter and easier to read.

Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:52:27 +01:00
Hugo van Kemenade
76446ee450
Merge pull request #7524 from cclauss/ruff-rules-C4-PERF102-PIE810-PLR 2023-12-01 17:09:25 +02:00
Andrew Murray
2e8dd3bdca Use int.from_bytes() 2023-12-01 22:56:25 +11:00
Andrew Murray
30eb41475d Use f-string
Co-authored-by: Aarni Koskela <akx@iki.fi>
2023-12-01 22:44:51 +11:00
Nulano
984700b1f7 fix documentation link to PIL.ImageFont.Layout 2023-11-30 23:58:47 +01:00
Andrew Murray
13c1d752c6
Use enum in type hint
Co-authored-by: Ondrej Baranovič <nulano@nulano.eu>
2023-12-01 08:42:25 +11:00
Andrew Murray
f1fef09d4a Support arbitrary masks for uncompressed RGB images 2023-11-30 21:13:59 +11:00
Andrew Murray
f23d029d5f Moved error from truetype() to FreeTypeFont 2023-11-30 07:41:02 +11:00
Andrew Murray
5fb86c55ed Moved code closing fp and _fp into common method 2023-11-29 20:05:17 +11:00
Aarni Koskela
39ec56c6ea Improve error message when creating TrueType fonts of invalid size
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-11-28 15:09:53 +02:00
helloworld
b235aa98c6 fix: use parent_name instead of parent_module 2023-11-28 20:21:03 +08:00
Andrew Murray
4bc365547a
Corrected type hint
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-11-28 21:43:58 +11:00
Andrew Murray
9e8edb42b6 Added type hint 2023-11-28 21:18:58 +11:00
Deliang Yang
6825a76692 fix: Importing plugins from a user-specified installation directory
[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

fix: Wrong path replacement

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

fix: typo
2023-11-28 08:25:16 +08:00
Nulano
0cef9f251c fix drawing text alpha on RGBA image on big-endian platforms 2023-11-27 17:12:12 +01:00
Andrew Murray
ae7958fa8d Handle pathlib.Path in FreeTypeFont 2023-11-27 23:03:10 +11:00
Andrew Murray
55c5587437 Fill identical pixels with transparency in subsequent frames 2023-11-25 19:16:32 +11:00
Andrew Murray
f59b51fdc7 Simplified code 2023-11-25 17:36:19 +11:00
Andrew Murray
5431b15bd2 Do not assign new fp attribute to image when exiting context manager 2023-11-24 15:19:19 +11:00
Andrew Murray
a07bac3a56 Attempt memory mapping when tile args is a string 2023-11-21 21:45:14 +11:00
Andrew Murray
524b823c1b Removed unnecessary string length check 2023-11-17 17:41:47 +11:00
Andrew Murray
67e1253202 Do not assign new fp attribute to image when closing 2023-11-17 08:32:25 +11:00
Raphael Vieira Rossi
b25ece364b
fix: check object Image has attribute 'fp' when closes 2023-11-16 16:46:11 -03:00
Andrew Murray
98b73009cc Correct PDF palette size when saving 2023-11-16 23:01:26 +11:00
Andrew Murray
4b308dc2bf
Merge pull request #7488 from bgilbert/jpeg-restart
Allow configuring JPEG restart marker interval on save
2023-11-14 23:42:50 +11:00
Aarni Koskela
f47633a24a
Apply suggestions from code review
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-11-13 09:28:01 +02:00
Andrew Murray
f016d3079b Determine mask mode in Python instead of C 2023-11-13 14:31:22 +11:00
Aarni Koskela
126bc44e9e Fix up most noqas
Update Tests/bench_cffi_access.py

Co-authored-by: Alexander Karpinsky <homm86@gmail.com>
2023-11-12 13:47:52 +02:00
Hugo van Kemenade
9b8c23e2dd
Merge pull request #7527 from akx/remove-commented-out-code 2023-11-11 14:32:15 +02:00
Hugo van Kemenade
a7fe25df53
Merge pull request #7522 from radarhere/png_save_all 2023-11-07 11:35:24 +02:00
Aarni Koskela
0c705692ea Remove old commented-out code 2023-11-06 21:21:07 +02:00
pre-commit-ci[bot]
eb8405baa0 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-11-06 13:24:42 +00:00
Christian Clauss
fd59f91d17 ruff: Minor optimizations of list comprehensions, x in set, etc. 2023-11-06 19:13:47 +06:00
Aarni Koskela
9e615b6ad3 Add noqas for UP031 2023-11-06 12:43:14 +02:00
Aarni Koskela
307d00b44d Apply ruff autofixes 2023-11-06 12:43:14 +02:00
Andrew Murray
c29648ff53 If save_all PNG only has one frame, do not create animated image 2023-11-03 22:08:48 +11:00
Andrew Murray
dc0379fea5 Corrected combining durations from multiple frames into single frame 2023-11-03 21:09:16 +11:00
Andrew Murray
a5a6ca150c
Merge pull request #7493 from radarhere/frombytes
Fixed frombytes() for images with a zero dimension
2023-11-03 18:56:34 +11:00
Andrew Murray
7c2b681183 Handle disposing background from outside palette 2023-11-02 16:05:13 +11:00
Benjamin Gilbert
e572722479 Allow configuring JPEG restart marker interval on save
libjpeg allows specifying the marker interval either in MCU blocks or in
MCU rows.  Support both, via separate parameters, rather than requiring
callers to do the math.

Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2023-10-31 17:47:25 -05:00
Andrew Murray
8814610635 Only unpack masks when necessary 2023-10-30 22:16:55 +11:00
REDxEYE
cb554c6d0f
Update src/PIL/DdsImagePlugin.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-10-30 13:55:02 +03:00
Andrew Murray
e3ff5eb8e4 Test BC1_UNORM and BC1_TYPELESS 2023-10-30 19:53:51 +11:00
Andrew Murray
0051fc9cf8 Removed unnecessary seek 2023-10-28 16:43:43 +11:00
Andrew Murray
3652f431c2 Simplified code 2023-10-28 14:22:39 +11:00
Andrew Murray
e10a58ccce Concatenate multiple EXIF markers 2023-10-26 21:46:38 +11:00
Andrew Murray
85485229e3 Support RGB bitcount 8 2023-10-25 16:24:00 +11:00
Andrew Murray
f58f410b21 ALPHA by itself does not mean bitcount is valid 2023-10-25 15:30:59 +11:00
Andrew Murray
91f115bead Fixed im.frombytes() for images with a zero dimension 2023-10-25 08:52:26 +11:00
Andrew Murray
5071692039 Fixed Image.frombytes() for images with a zero dimension 2023-10-25 08:52:06 +11:00
Yay295
6ddf10c747
use format string instead of concatenation
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-10-23 21:46:54 -05:00
Yay295
ef46608974
add mode to error message 2023-10-23 19:26:08 -05:00
Andrew Murray
12e41e84cd Simplified creating raw tiles 2023-10-21 19:12:52 +11:00
Andrew Murray
8fbb610378 Derive bit count from number of modes 2023-10-21 17:33:04 +11:00
Andrew Murray
4a4a1ee6ad Simplified tile creation 2023-10-21 16:03:21 +11:00
Andrew Murray
a54d28a7bc Merge branch 'main' into improved_dds 2023-10-21 14:27:31 +11:00
Andrew Murray
935958c990 Removed unnecessary casting to enums 2023-10-21 14:27:23 +11:00
Andrew Murray
5056850a2f Seek past the data when skipping a layer 2023-10-20 16:09:13 +11:00
Andrew Murray
19aeed07bf Merge branch 'main' into gray 2023-10-20 07:47:17 +11:00
Andrew Murray
d682c18ded Use "gray" more consistently 2023-10-19 19:12:01 +11:00