Commit Graph

4442 Commits

Author SHA1 Message Date
Andrew Murray
841ba163fd If every tile covers the image, only use the last offset 2025-03-18 00:21:08 +11:00
Andrew Murray
cd11792c15 Added BC5 saving 2025-03-17 07:55:25 +11:00
Andrew Murray
b0315cc603 Added BC2 loading and saving 2025-03-17 07:55:24 +11:00
Andrew Murray
f1a61a1e76 Added DXT3 saving 2025-03-17 07:55:24 +11:00
Andrew Murray
9f619b814f Added BC3 loading and saving 2025-03-17 07:55:24 +11:00
Andrew Murray
9430bbe5a1 Added DXT5 saving 2025-03-17 07:55:24 +11:00
Andrew Murray
3dbd0e57ba Added DXT1 encoding 2025-03-17 07:55:24 +11:00
Andrew Murray
669a288beb Convert all entries to bytes at once 2025-03-17 07:52:51 +11:00
Andrew Murray
ca0c940cb1 Do not add palette entries when reading other lines 2025-03-17 07:52:51 +11:00
Andrew Murray
6e597a1ca7 Do not force palette length to be 256 2025-03-17 07:52:51 +11:00
Andrew Murray
1f6fd3b994 Only convert to int if there are enough items 2025-03-17 07:52:51 +11:00
Andrew Murray
e1cd9ad5ac Use maxsplit 2025-03-17 07:52:51 +11:00
Andrew Murray
5ba72a9b54
Merge pull request #8800 from radarhere/path_lists
Allow coords to be sequence of lists
2025-03-05 19:15:55 +02:00
Hugo van Kemenade
5e9eea12f3
Merge pull request #8803 from radarhere/abstract
Use ABCMeta in classes with abstractmethod
2025-03-05 18:15:33 +02:00
Hugo van Kemenade
ebdfca329e
Merge pull request #8786 from radarhere/openjpeg
Support reading grayscale JPEG2000 images with 4 channels
2025-03-05 18:07:20 +02:00
Hugo van Kemenade
00593ff3f8
Merge pull request #8780 from radarhere/save_all
Allow encoderconfig and encoderinfo to be set for appended TIFF images
2025-03-05 18:04:28 +02:00
Andrew Murray
d186a2a8d6 Replace NotImplementedError with abstractmethod 2025-03-05 21:50:09 +11:00
Andrew Murray
2309f0fa60 Inherit classes with abstractmethod from ABC 2025-03-05 21:30:24 +11:00
Hugo van Kemenade
a2b13cc02a Call startswith/endswith once with a tuple 2025-03-03 23:57:40 +02:00
Hugo van Kemenade
e4cac21044 Don't use start=0 in range() 2025-03-03 23:57:40 +02:00
Hugo van Kemenade
721a2fe3b1
Merge pull request #8792 from radarhere/xmp
Corrected exif_transpose error when XMP is tuple
2025-03-03 18:44:55 +02:00
Hugo van Kemenade
7700293438
Merge pull request #8793 from radarhere/gd
Fixed loading GD images
2025-03-03 18:43:03 +02:00
Hugo van Kemenade
a4f5feaf74
Merge pull request #8794 from radarhere/outline
Image.core.outline will no longer raise an AttributeError
2025-03-03 18:19:30 +02:00
Hugo van Kemenade
4e550d47f3
Merge pull request #8791 from python-pillow/renovate/mypy-1.x
Update dependency mypy to v1.15.0
2025-03-03 18:10:42 +02:00
Hugo van Kemenade
1a62ef9855
Merge pull request #8782 from radarhere/imagetk
Removed ImageTk._show
2025-03-03 18:08:13 +02:00
Hugo van Kemenade
989a35830b
Merge pull request #8773 from radarhere/eof
_seek_check already raises an EOFError
2025-03-03 17:36:24 +02:00
Andrew Murray
a1a467bda2 Image.core.outline will no longer raise an AttributeError 2025-03-03 23:55:19 +11:00
Andrew Murray
51183c2204 Fixed loading images 2025-03-03 21:58:29 +11:00
Andrew Murray
4161bb1645 Corrected error when XMP is tuple 2025-03-03 19:10:55 +11:00
Andrew Murray
d6272297fc Ignore override 2025-03-03 14:48:00 +11:00
Andrew Murray
92cc9bf902 Support reading grayscale images with 4 channels 2025-03-03 08:46:20 +11:00
Andrew Murray
ebc7a17d86 Removed _show 2025-03-03 07:24:13 +11:00
Andrew Murray
5c93145061 Allow encoderconfig and encoderinfo to be set for appended TIFF images 2025-02-28 22:16:52 +11:00
Andrew Murray
3407f765cc Document using encoderinfo on subsequent frames from #8483 2025-02-28 10:28:48 +11:00
Andrew Murray
85f439f575 _seek_check already raises an EOFError 2025-02-25 18:46:22 +11:00
Andrew Murray
ddb238c70d Only set mode when necessary 2025-02-20 07:57:10 +11:00
Hugo van Kemenade
9665eb3972 Replace slice and comparison with endswith 2025-02-17 23:39:33 +02:00
Hugo van Kemenade
1e574e6f8b Replace slice and comparison with startswith 2025-02-17 23:39:33 +02:00
Hugo van Kemenade
a254b8cfeb
Merge pull request #8741 from radarhere/type 2025-02-17 13:29:44 +02:00
Hugo van Kemenade
3f111b986e
Merge pull request #8748 from radarhere/gif 2025-02-17 13:07:20 +02:00
Michał Górny
0fbe1860c4 Update pythoncapi_compat.h to fix building with PyPy3.11
Update `pythoncapi_compat.h` to upstream commit
c84545f0e1e21757d4901f75c47333d25a3fcff0, which includes fixes necessary
for Pillow to build against PyPy3.11.  Otherwise, it fails due to
duplicate declarations:

```
      In file included from src/encode.c:28:
      src/thirdparty/pythoncapi_compat.h:295:1: error: static declaration of ‘PyThreadState_GetInterpreter’ follows non-static declaration
        295 | PyThreadState_GetInterpreter(PyThreadState *tstate)
            | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/pypy3.11/Python.h:80,
                       from src/encode.c:26:
      /usr/include/pypy3.11/pystate.h:35:33: note: previous declaration of ‘PyThreadState_GetInterpreter’ with type ‘PyInterpreterState *(PyThreadState *)’ {aka ‘struct _is *(struct _ts *)’}
         35 | PyAPI_FUNC(PyInterpreterState*) PyThreadState_GetInterpreter(PyThreadState *tstate);
            |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2025-02-16 16:32:24 +01:00
Andrew Murray
f8566b90eb
Merge pull request #8755 from hugovk/rm-_wedge
Remove debug `Image._wedge`
2025-02-16 04:54:27 +11:00
Hugo van Kemenade
ff960b8841 Remove debug Image._wedge 2025-02-15 16:35:07 +02:00
Hugo van Kemenade
1c18d29c34 Remove unused bdf_slant and bdf_spacing variables 2025-02-15 13:26:06 +02:00
Andrew Murray
8f4bfe1fe5 Only crop when saving with disposal method 2 if transparency is present 2025-02-12 19:12:27 +11:00
Hugo van Kemenade
3c2310e090
Merge pull request #8739 from radarhere/boolean 2025-02-09 16:05:54 +02:00
Andrew Murray
422c0f607d Use default tp_flags 2025-02-09 16:03:38 +11:00
Andrew Murray
bfa2d64e0e Use member names to initialize PyTypeObjects 2025-02-09 16:02:50 +11:00
Andrew Murray
b59dea60a6 Simplify Python code by receiving tuple from C 2025-02-08 21:07:25 +11:00
Andrew Murray
166d0b94d9 Use boolean format argument for irreversible 2025-02-08 21:00:54 +11:00
Hugo van Kemenade
b57b4e5f2c
Merge pull request #8735 from radarhere/affine 2025-02-06 13:26:24 +02:00
Hugo van Kemenade
a788ab31ca
Merge pull request #8734 from radarhere/module 2025-02-06 13:25:54 +02:00
Hugo van Kemenade
c73796dc1e
Merge pull request #8733 from radarhere/tuple 2025-02-06 13:19:29 +02:00
Andrew Murray
41861e8e9f Updated AffineTransform docstring to mention it uses the inverse matrix 2025-02-06 19:26:49 +11:00
Andrew Murray
7924b6a11f Use member names to initialize modules 2025-02-05 20:20:57 +11:00
Andrew Murray
a37702dd8a Removed unused format character 2025-02-05 19:12:54 +11:00
Andrew Murray
b19506a499 Simplify Python code by passing tuples to C 2025-02-05 19:12:50 +11:00
Andrew Murray
a7d7a1080e Removed redundant argument parsing 2025-02-05 18:42:35 +11:00
Andrew Murray
2810d7c6ba
Merge pull request #8721 from radarhere/justify
Added "justify" align for multiline text
2025-02-04 20:10:39 +11:00
pre-commit-ci[bot]
955d678ca2 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-02-03 17:36:01 +00:00
Hugo van Kemenade
793e1fcba2
Merge pull request #8709 from radarhere/seek 2025-01-31 14:11:07 +02:00
Hugo van Kemenade
b03f143df1
Merge pull request #8701 from radarhere/stroke_outside 2025-01-31 13:35:22 +02:00
Hugo van Kemenade
84adbe5da8
Support saving PNG cICP chunk (#8704) 2025-01-31 13:24:08 +02:00
Andrew Murray
10eaff8ac7 Added "justify" align for multiline text 2025-01-29 20:12:45 +11:00
Andrew Murray
7093de46a7 Moved common multiline code into _prepare_multiline_text 2025-01-29 19:42:25 +11:00
Andrew Murray
9a4f39588d Use embedded color for text length in multiline_text 2025-01-29 18:58:53 +11:00
Andrew Murray
f598c03233 Removed unused file 2025-01-29 17:33:55 +11:00
Aleksandr Karpinskii
849768df7a Remove unused declaration 2025-01-28 20:40:43 +11:00
Aleksandr Karpinskii
e7ae4aaad0 Use Py_RETURN_NONE macro when possible 2025-01-27 18:17:03 +11:00
Andrew Murray
8a90975c14 Seek relative to current position 2025-01-22 23:14:34 +11:00
Andrew Murray
427244877b Support saving cICP chunk 2025-01-19 15:09:12 +11:00
Andrew Murray
0318304f9a Do not draw normal text onto stroke text if they are the same color 2025-01-18 21:58:15 +11:00
Andrew Murray
8d9279dd73 Only use outside border of stroke in text() 2025-01-18 21:58:04 +11:00
Andrew Murray
c78d23d547 Moved _close_fp into ImageFile 2025-01-18 21:22:44 +11:00
Andrew Murray
4ff18e03b8 Moved file pointer handling into ImageFile close 2025-01-18 20:57:04 +11:00
Hugo van Kemenade
4f7510b77b
Merge pull request #8689 from radarhere/get_child_images 2025-01-17 22:29:50 +02:00
Andrew Murray
be8e55d28d Added deprecation warning 2025-01-17 18:34:23 +11:00
Hugo van Kemenade
bff83cff59
Merge pull request #8568 from radarhere/fixifd 2025-01-16 16:33:42 +02:00
Andrew Murray
c67ed4678b
Moved strings inside debug statement
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-01-16 23:48:44 +11:00
Andrew Murray
a922126ed7 Assert fp is not None 2025-01-13 07:57:50 +11:00
Andrew Murray
34762ded75 Assert JpegIFByteCount is int 2025-01-13 07:57:28 +11:00
Andrew Murray
5ad98e7abb Moved get_child_images() 2025-01-13 07:54:43 +11:00
Andrew Murray
64bfdff6c8 Only F mode starts with F 2025-01-10 21:51:33 +11:00
Hugo van Kemenade
af3b904233
Merge pull request #8663 from radarhere/bigtiff 2025-01-08 19:15:31 +02:00
Hugo van Kemenade
b69f2045d2
Merge pull request #8662 from radarhere/pyunicode 2025-01-08 19:05:49 +02:00
Hugo van Kemenade
01792cbff0
Merge pull request #8652 from radarhere/tile 2025-01-08 19:03:31 +02:00
Hugo van Kemenade
a9dcac0f31
Merge pull request #8660 from HarmvandenBrand/tiff_plugin_error_msg 2025-01-08 18:59:31 +02:00
Hugo van Kemenade
5654c863bf
Merge pull request #8639 from radarhere/jfif_dpi 2025-01-08 18:45:09 +02:00
Hugo van Kemenade
6bce9aa461
Merge pull request #8645 from radarhere/mozjpeg 2025-01-08 18:44:21 +02:00
Andrew Murray
a8381c619d Allow upgrading LONG to LONG8 2025-01-07 21:51:00 +11:00
Andrew Murray
618339e2d2 Allow saving multiple frames as BigTIFF 2025-01-07 21:51:00 +11:00
Andrew Murray
4ecf8cbd75 Simplified code 2025-01-05 14:49:34 +11:00
Andrew Murray
73a383fa72 Use rawmode instead of splitting and merging 2025-01-05 06:11:54 +11:00
Andrew Murray
bd56a95659 Use namedtuple _replace 2025-01-05 05:30:14 +11:00
Harm.van.den.brand@alliander.com
036db2da87 OSError caused by decode error should use string argument to be in line with rest of module 2025-01-03 12:50:19 +01:00
Marc Mueller
1678f7f215 Add overloads for exif_transpose 2025-01-02 17:38:21 +01:00
Andrew Murray
57786a252b 11.2.0.dev0 version bump 2025-01-02 19:04:18 +11:00
Andrew Murray
4c1aed801e 11.1.0 version bump 2025-01-02 16:00:59 +11:00
Andrew Murray
6b75e06875 Do not reread start of header in decoder 2025-01-01 22:58:04 +11:00
Andrew Murray
b89cc09944 Corrected BLP1 alpha depth handling 2025-01-01 12:22:55 +11:00