Commit Graph

285 Commits

Author SHA1 Message Date
Andrew Murray
e617e604b5
Merge branch 'main' into convert_mode 2024-02-11 21:55:07 +11:00
Andrew Murray
430f50606e Current delta is determined by previous disposal 2024-02-10 21:33:32 +11:00
Andrew Murray
e6a521130e If previous disposal was 2, do not fill identical pixels 2024-02-09 19:47:09 +11:00
Andrew Murray
dfb48ff297 Match mask size to pasted image size 2024-02-05 19:16:15 +11:00
Andrew Murray
697959dd61
Merge branch 'main' into convert_mode 2024-01-31 22:04:07 +11:00
Andrew Murray
bb1fece57a Added type hints 2024-01-31 21:55:32 +11:00
Hugo van Kemenade
4a4b90c365
Autotype tests (#7756)
* autotyping: --none-return
* autotyping: --scalar-return
* autotyping: --int-param
* autotyping: --float-param
* autotyping: --str-param
* autotyping: --annotate-named-param tmp_path:pathlib.Path
2024-01-31 20:12:58 +11:00
Hugo van Kemenade
53c3cd9f8e isort Tests 2024-01-20 13:23:03 +02:00
Andrew Murray
fc9e17651c
Merge branch 'main' into convert_mode 2023-12-27 12:51:00 +11:00
Hugo van Kemenade
43b2f61e79 Add 'from __future__ import annotations' using Ruff/isort 2023-12-21 13:13:31 +02:00
Hugo van Kemenade
18907b5f7e
Merge pull request #7568 from radarhere/gif_transparency 2023-12-21 12:58:07 +02:00
Hugo van Kemenade
9eb93915c3
Merge pull request #7521 from radarhere/gif_save_all 2023-12-21 12:52:26 +02:00
Andrew Murray
55c5587437 Fill identical pixels with transparency in subsequent frames 2023-11-25 19:16:32 +11:00
Andrew Murray
dc0379fea5 Corrected combining durations from multiple frames into single frame 2023-11-03 21:09:16 +11:00
Andrew Murray
7c2b681183 Handle disposing background from outside palette 2023-11-02 16:05:13 +11:00
Andrew Murray
d682c18ded Use "gray" more consistently 2023-10-19 19:12:01 +11:00
Hugo van Kemenade
5f04b3d278
Merge pull request #7289 from radarhere/undefined_palette 2023-10-05 09:31:02 -06:00
Andrew Murray
bfafa460e3 Allow "loop=None" when saving 2023-08-09 10:31:34 +10:00
Andrew Murray
fd310512b9 Set C palette to be empty by default 2023-07-17 23:04:43 +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
541d2605b9 Allow alpha differences to indicate different frames when saving GIF 2023-06-14 14:21:07 +10:00
Andrew Murray
922e239cca Fixed saving multiple 1 mode images to GIF 2023-05-24 08:55:14 +10:00
Andrew Murray
9ed8ca1494 Removed "del im" 2023-03-03 10:28:36 +02:00
Aarni Koskela
43128ce716 Fix up pytest.warns lambda: uses 2023-02-23 16:06:40 +02: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
Hugo van Kemenade
e24dd745f7 Convert test_optimize_correctness to use parametrize 2023-01-08 14:48:56 +02:00
Andrew Murray
a22b55a858
Merge branch 'main' into convert_mode 2022-12-23 10:43:25 +11:00
Andrew Murray
921c46679d Merge branch 'main' into gif_disposal 2022-12-22 08:32:27 +11:00
Hugo van Kemenade
aab4adc441
Merge pull request #6792 from radarhere/webp_gif
Resolves https://github.com/python-pillow/Pillow/issues/6791
2022-12-21 21:09:23 +02:00
Andrew Murray
66f5ad0eae Ignore non-opaque WebP background when saving as GIF 2022-12-09 10:45:09 +11:00
Andrew Murray
4ab837ae23 Only compare to previous when checking for duplicate frames while saving 2022-12-08 11:35:48 +11:00
Andrew Murray
72ac7d1ce9 Corrected default combined frame duration 2022-12-05 18:53:28 +11:00
Andrew Murray
5f8938cb8e
Merge branch 'main' into gif 2022-10-12 22:01:35 +11:00
Hugo van Kemenade
cf3132b7de
Merge pull request #6592 from radarhere/gif_rgba 2022-10-12 12:47:38 +02:00
Andrew Murray
e6ffbfd8df If palette is present but not needed, do not use global palette 2022-10-06 08:46:31 +11:00
Andrew Murray
689fbb4329 Merge branch 'main' into convert_mode 2022-10-04 19:35:10 +11:00
Andrew Murray
c259ac492f Parametrized tests 2022-10-03 16:57:42 +11:00
Andrew Murray
6663ed929b If first frame has transparency for RGB_ALWAYS, use RGBA 2022-09-17 17:58:24 +10:00
Andrew Murray
ae6520ccd6 Fixed pasting an L frame onto an RGB(A) GIF 2022-09-14 00:05:23 +10:00
Andrew Murray
e7fab6abf4 Fixed remapping to palette with duplicate entries 2022-08-29 23:20:31 +10:00
Andrew Murray
0844fb0ed3 Do not clear tile if not updating the image when seeking 2022-07-21 09:05:14 +10:00
Andrew Murray
709744432a Optimise palettes with more than 128 colors 2022-06-19 16:47:50 +10:00
Ray Gardner
128ed189e5 Improve test in _get_optimize()
Palette can be optimized if number of colors can be reduced by half or more.
2022-06-18 18:07:58 -06:00
Andrew Murray
38e7d9b46c
Merge branch 'main' into convert_mode 2022-06-14 22:54:21 +10: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
Hugo van Kemenade
0476914ee4
Merge pull request #6219 from radarhere/gif_eof
Do not update GIF frame position until local image is found
2022-05-27 08:29:38 +02:00
Andrew Murray
2457eafabd Only read the number of loops from the first frame 2022-05-24 12:53:19 +10:00
Andrew Murray
62d0f0e38d Once comment is loaded, keep it for subsequent frames 2022-05-22 15:30:16 +10:00
Andrew Murray
67f5e5d272 Test an empty string comment in arguments removes existing comment 2022-05-22 15:01:28 +10:00
Andrew Murray
db76eaa12c
Merge branch 'main' into comment_correct_placement 2022-05-22 14:56:57 +10:00
Andrew Murray
e9cb2156ec
Merge pull request #6294 from raygard/comments_separate_multiple
Separate multiple GIF comment blocks in a frame with newlines
2022-05-22 14:53:03 +10:00
Andrew Murray
62d5817e29 Changed delimiter to \n 2022-05-22 14:11:11 +10:00
Andrew Murray
46a80d144a Update transparency when remapping the palette 2022-05-21 16:37:47 +10:00
Andrew Murray
2072a52bb5
Merge pull request #6292 from raygard/comment_use_gif89a
Always use GIF89a for comments
2022-05-21 10:24:14 +10:00
Hugo van Kemenade
2c58c3ee11
Merge pull request #6213 from radarhere/fp 2022-05-19 18:52:55 +03:00
Andrew Murray
138bd280e4 Added check to test_comment as well 2022-05-19 20:59:32 +10:00
Ray Gardner
6257e788ad
Update test_file_gif.py
Changed to use a test image already in Images folder
2022-05-14 11:57:41 -06:00
pre-commit-ci[bot]
416de882e4 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-05-14 15:36:54 +00:00
Ray Gardner
22d9095e5c Correct placement of GIF comment
Place GIF comment after Global Color table. Should go after "NETSCAPE" looping extension after pull #6211.
2022-05-13 17:09:37 -06:00
Ray Gardner
44c6467400 Multiple GIF comments in a frame are separated
If more than one comment is in a GIF frame, separate them with \r\n in the info dict.
2022-05-13 16:36:20 -06:00
Ray Gardner
b3d29e946a Always use GIF89a for long comments
Fix bug that allows GIFs with long comments to be written as GIF87a.
2022-05-13 11:33:33 -06:00
Andrew Murray
7e084c7ede Use durations from each frame by default when saving 2022-05-03 20:07:47 +10:00
Andrew Murray
e62449f94c Added DeferredError to _fp 2022-04-17 12:14:53 +10:00
Andrew Murray
c8118438ae Do not update frame position until local image is found 2022-04-16 17:07:39 +10:00
Hugo van Kemenade
a715bf2d6f [Test] function name should be snake_case 2022-04-11 15:29:01 +03:00
Andrew Murray
8fab24c8ab Added convert_mode param when saving 2022-04-08 21:29:41 +10:00
Andrew Murray
6b2da2f123 Consider transparency from each frame when saving 2022-04-02 21:04:22 +11:00
Hugo van Kemenade
e60ca89721
Merge pull request #6150 from radarhere/gif 2022-03-30 23:23:59 +03:00
Andrew Murray
e22a4395d3 Renamed setting 2022-03-29 21:26:29 +11:00
Hugo van Kemenade
aeba11db1b
Merge pull request #6148 from radarhere/gif_size 2022-03-26 19:48:08 +02:00
Andrew Murray
c5efe60c37 Reverted converting L with transparency to LA after first frame 2022-03-22 22:07:37 +11:00
Andrew Murray
ce8c682748 Added setting to convert to RGB only at a different palette 2022-03-22 20:28:49 +11:00
Andrew Murray
66bb2bd5e8 Added setting to convert first GIF frame to RGB 2022-03-22 20:20:38 +11:00
Andrew Murray
7928e944cb Keep subsequent L frames without transparency as L 2022-03-22 20:20:38 +11:00
Andrew Murray
d806227199 Do not expand GIF during n_frames 2022-03-21 23:19:26 +11:00
Andrew Murray
4e16a9a942 Retain RGBA transparency when saving multiple frames 2022-03-12 15:14:36 +11:00
Andrew Murray
5c6212052c Convert subsequent frames of L mode GIF to LA if transparency is present 2022-03-01 20:11:35 +11:00
Andrew Murray
9006836c28 Test that n_frames and is_animated do not change the image 2022-02-22 08:55:02 +11:00
Andrew Murray
dae1f691c2 Updated checks that no warnings were raised 2022-02-21 13:49:01 +11:00
Andrew Murray
f8e4e9c2dd Added enums 2022-01-15 09:02:31 +11:00
Andrew Murray
0e10a5cc7b When saving RGBA, make use of first transparent palette entry 2021-12-07 06:37:01 +11:00
Andrew Murray
1fb1bec0e8 Added test 2021-11-29 17:49:19 +11:00
Andrew Murray
b383a175be Convert subsequent GIF frames to RGB or RGBA 2021-11-29 17:49:06 +11:00
Hugo van Kemenade
31a96b9c9b Upgrade Python syntax with pyupgrade --py36-plus and format with Black 2021-10-19 15:34:52 +03:00
Andrew Murray
174b4893f3 Prefer global transparency for disposal method 2 2021-10-12 09:45:52 +11:00
Hugo van Kemenade
4c7777c425
Merge pull request #5599 from radarhere/palette
Updates for ImagePalette channel order
2021-08-24 14:52:46 +03:00
Andrew Murray
cf275737ee Do not rearrange palette channels 2021-07-29 16:20:20 +10:00
Andrew Murray
43ea81c6db For save_all with palette, do not include palette with each frame 2021-07-11 22:52:32 +10:00
Hugo van Kemenade
50302231ed
Merge pull request #5552 from radarhere/palette 2021-06-28 19:01:54 +03:00
Andrew Murray
d24299a16c Corrected comments 2021-06-28 20:21:46 +10:00
Andrew Murray
450382f574 Do not use raw ImagePalette 2021-06-27 15:09:39 +10:00
Andrew Murray
f6d504c8f6 Use context manager 2021-06-26 00:48:16 +10:00
Glenn Maynard
432677740d Add a test for an image that works with other GIF decoders.
This test is fixed by the next commits.
2021-06-26 00:48:10 +10:00
Andrew Murray
5b4cb5052a Draw first frame on top of transparency 2021-06-25 21:54:21 +10:00
Andrew Murray
a47072bcbe Treat previous contents of first frame as transparent 2021-04-15 19:01:12 +10:00
Hugo van Kemenade
2f5687f886
Merge pull request #5390 from radarhere/gif_missing_background
Use zero if GIF background color index is missing
2021-04-15 11:57:31 +03:00
Andrew Murray
3cb2413066 Use zero if background color index is missing 2021-04-08 08:04:20 +10:00
Andrew Murray
d661e438f6 Fixed ensuring that previous frame was loaded 2021-04-06 19:31:51 +10:00
Andrew Murray
b216b367ac Only set info transparency on first frame 2021-03-17 00:24:57 +11:00
Andrew Murray
a5c251029c Replaced various instances of assert_image_equal with assert_image_equal_tofile 2021-02-21 22:15:56 +11:00