Commit Graph

17048 Commits

Author SHA1 Message Date
Nulano
46a6ddf0c2 fix loading IPTC images and add test 2023-12-31 13:53:09 +01:00
Andrew Murray
2ec53e36e9 Apply ImageFont.MAX_STRING_LENGTH to ImageFont.getmask() 2023-12-31 23:17:28 +11:00
Andrew Murray
1d9c931626 Changed tile tuple to match other plugins 2023-12-31 22:43:08 +11:00
Andrew Murray
0988703a90
Merge pull request #7657 from hugovk/optimise-imagecolor
Optimise `ImageColor` using `functools.lru_cache`
2023-12-31 19:15:18 +11:00
Andrew Murray
ee6e12a803 Updated copyright year 2023-12-31 18:37:16 +11:00
Hugo van Kemenade
9158c9aec0 Optimise ImageColor using functools.lru_cache 2023-12-30 16:26:50 +02:00
Andrew Murray
aaf99d18ae Update CHANGES.rst [ci skip] 2023-12-30 10:38:09 +11:00
Andrew Murray
02c6183d41
Merge pull request #7655 from radarhere/imagemath_eval_keys
Restricted environment keys for ImageMath.eval()
2023-12-30 10:23:50 +11:00
Andrew Murray
557ba59d13 Include further builtins 2023-12-30 09:30:12 +11:00
Andrew Murray
0ca3c33c59 Allow ops 2023-12-30 09:29:40 +11:00
Eric Soroos
45c726fd4d Don't allow __ or builtins in env dictionarys for ImageMath.eval 2023-12-30 09:28:32 +11:00
Nulano
9a6b6316a7 add type hints to PIL.ContainerIO 2023-12-29 23:24:21 +01:00
Nulano
6a33d6d170 add type hints to PIL._binary 2023-12-29 23:15:41 +01:00
Andrew Murray
c3af2643dd
Merge pull request #7652 from radarhere/releasing
Updated RELEASING now that Trusted PyPI publishing is in use
2023-12-30 08:20:41 +11:00
Hugo van Kemenade
2de26d0dae
Merge pull request #7647 from radarhere/imagefont 2023-12-29 23:05:05 +02:00
Andrew Murray
f7ec665bf1 Support setting ROWSPERSTRIP tag 2023-12-29 23:00:14 +11:00
mergify[bot]
109c6bf6c0
Merge pull request #7653 from hugovk/release-drafter-type-hints
Add 'Type hints' as a release note category
2023-12-29 11:57:23 +00:00
Hugo van Kemenade
554598d393
Merge pull request #7649 from radarhere/fuzz 2023-12-29 13:35:27 +02:00
Hugo van Kemenade
9c7ff4c86d Add 'Type hints' as a release note category 2023-12-29 13:25:54 +02:00
Andrew Murray
3c7603b57d Trusted PyPI publishing is now in use in GitHub Actions 2023-12-29 22:05:31 +11:00
Andrew Murray
f6bcf4e1ae Use IMAGEWIDTH and IMAGELENGTH when calculating strip size 2023-12-29 14:15:40 +11:00
Andrew Murray
a5e42107ea Removed __future__ import from fuzz_font and fuzz_pillow 2023-12-29 11:23:34 +11:00
Benjamin Gilbert
372083c59f Check similarity of round-tripped YCbCr JPEG, for symmetry with RGB 2023-12-28 13:00:17 -06:00
Andrew Murray
a16974e240 Restored testing of ImageFont class 2023-12-28 21:07:16 +11:00
Nulano
30015f6236 simplify decompression bomb check in FreeTypeFont.render 2023-12-27 17:05:14 +01:00
Ondrej Baranovič
de381d0efb
Update docs/reference/internal_modules.rst
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-12-27 16:17:51 +01:00
Hugo van Kemenade
9475c46d30 Don't complain about compatibility code: class TypeGuard 2023-12-27 16:58:42 +02:00
Hugo van Kemenade
5938423c63 Coverage: Use exclude_also instead of exclude_lines 2023-12-27 16:57:50 +02:00
Hugo van Kemenade
0c767f0d7c Coverage: Don't complain about code that shouldn't run: def create_lut(): 2023-12-27 16:57:50 +02:00
pre-commit-ci[bot]
0d90bc8187 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-27 13:57:22 +00:00
Nulano
3a4298d16c avoid hard dependency on typing_extensions 2023-12-27 14:55:30 +01:00
Nulano
cc51dace35 fix types hints for ImageFile._Tile 2023-12-27 14:55:30 +01:00
Nulano
90d5552800 use _util.DeferredError.new everywhere 2023-12-27 14:55:30 +01:00
Nulano
6bcf807fe2 add type hints for _util 2023-12-27 14:55:30 +01:00
Andrew Murray
78b96c0375
Merge pull request #7643 from radarhere/type_hints
Added type hints to FontFile and subclasses
2023-12-27 22:58:35 +11:00
Andrew Murray
0aebd577ea Moved type hint to BYTES_PER_ROW 2023-12-27 22:27:20 +11:00
Andrew Murray
ca9b49f8dd
Merge pull request #7636 from bgilbert/jp2-docs
Document JPEG 2000 support for writing YCbCr and reading subsampled color
2023-12-27 21:59:39 +11:00
Andrew Murray
6e97dd5cec Raise ValueError when trying to save without bitmap 2023-12-27 12:32:35 +11:00
Andrew Murray
85818cd616 Added type hints to FontFile and subclasses 2023-12-27 12:27:21 +11:00
Andrew Murray
e9252a9353 Always return None from compile() 2023-12-27 11:07:53 +11:00
Andrew Murray
1e8bad805e
Merge pull request #7641 from hugovk/optimise-imagemode
Optimise `ImageMode.getmode` using `functools.lru_cache`
2023-12-27 09:42:26 +11:00
Andrew Murray
265ee32457
Merge pull request #7616 from radarhere/pypi
Added trusted PyPI publishing
2023-12-27 09:37:14 +11:00
Hugo van Kemenade
396b96f28b
Optimise ImageMode.getmode
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-12-26 15:08:58 -07:00
Andrew Murray
d4fd04982a
Merge pull request #7640 from radarhere/type_hints
Added type hints to selftest.py, docs/conf.py and docs/example/anchors.py
2023-12-27 08:18:01 +11:00
Andrew Murray
043e13d660 Revert "Published to Test PyPI"
This reverts commit fc1cf9f65b.
2023-12-27 08:12:51 +11:00
Andrew Murray
a66fbb95b6
Updated Windows artifact name
Co-authored-by: Ondrej Baranovič <nulano@nulano.eu>
2023-12-27 07:54:03 +11:00
Benjamin Gilbert
a72b5963d7 Document JPEG 2000 support for writing YCbCr and reading subsampled color
Read support for subsampled RGB and YCbCr color channels was added in
4f4c3b34f8 and not documented at the time.  Write support for YCbCr
appears to date to 61fb89ec54, the original commit.

Retain the existing language about YCbCr input conversion to RGB, even
though it's not completely correct.  OpenJPEG through 2.5.0 doesn't set
color_space in opj_read_header(), so we end up in our
OPJ_CLRSPC_UNSPECIFIED fallback path, which guesses sRGB if there's no
component subsampling.  This means we currently can't round-trip YCbCr via
JPEG 2000.  The next OpenJPEG release will fix this, so leave the docs as
is.

Also fix typo: .j2p -> .jp2.
2023-12-26 12:52:27 -06:00
Benjamin Gilbert
e2018a6697 Add release note for JPEG keep_rgb option
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2023-12-26 12:37:44 -06:00
Benjamin Gilbert
a5fab5fc0b Fail if chroma subsampling selected when writing RGB JPEG
The user presumably doesn't intend to subsample the green and blue
channels.
2023-12-26 12:37:35 -06:00
Hugo van Kemenade
26f58e7afc Optimise ImageMode.getmode 2023-12-26 18:05:55 +02:00