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
76871795f7
Resolved UNDONE by removing code
2022-03-12 15:54:08 +11:00
Andrew Murray
4e16a9a942
Retain RGBA transparency when saving multiple frames
2022-03-12 15:14:36 +11:00
Andrew Murray
ca6724bb9d
Merge branch 'main' into gif
2022-03-11 08:44:42 +11:00
Hugo van Kemenade
29960c6610
Merge pull request #6108 from radarhere/none
2022-03-10 17:36:13 +02:00
Andrew Murray
c27519960f
Check if self.im is not None
2022-03-03 22:10:19 +11:00
Andrew Murray
7d3274518d
Allow LA to be used as a mask in paste()
2022-03-01 21:05:42 +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
f8546768d6
Do not update images during n_frames or is_animated seeking
2022-02-21 18:34:05 +11:00
Andrew Murray
590c616cfd
If next byte ends the GIF, stay on the current frame
2022-02-21 17:35:50 +11:00
Andrew Murray
73cf28cc94
If GIF has already seeked past first frame, it is animated
2022-02-21 15:57:13 +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
6337428df1
Loading transparent pixels in C from subsequent GIF frames is no longer a problem
2021-11-29 17:49:12 +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
Hugo van Kemenade
a7f5b25dc3
Merge pull request #5603 from radarhere/gif_palette
...
For GIF save_all with palette, do not include palette with each frame
2021-08-13 13:20:57 +03:00
Andrew Murray
cf275737ee
Do not rearrange palette channels
2021-07-29 16:20:20 +10:00
Andrew Murray
622a1cd542
Changed URLs to HTTPS
2021-07-12 21:00:36 +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
461628845d
Disposal method 2 is transparency or black when saving
2021-06-28 22:27:01 +10:00
Andrew Murray
e29a7d8a94
Replace with transparency if available for disposal method 2
2021-06-26 00:55:31 +10:00
Andrew Murray
5b4cb5052a
Draw first frame on top of transparency
2021-06-25 21:54:21 +10:00
Andrew Murray
8210645e4b
If all 256 colors are in use, then there is no need for an additional color for background or transparency
2021-06-23 19:28:46 +10:00
Andrew Murray
fa559277fb
When allocating a new color, repurpose an unused index if necessary
2021-06-23 19:27:08 +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
Hugo van Kemenade
c54a7bb031
Merge pull request #5333 from radarhere/gif_frame_transparency
2021-03-31 18:08:11 +03:00
Andrew Murray
b216b367ac
Only set info transparency on first frame
2021-03-17 00:24:57 +11:00
Glenn Maynard
18854dcf14
GIF: Handle GIF transparency in the decoder.
...
Remove the special case for disposal_method == 1 and handle GIF
transparency by telling the decoder the transparent index.
2021-03-16 23:17:28 +11:00
Glenn Maynard
a4a314f765
GIF: Support transparency in the native decoder.
...
Allow the transparency index to be passed to the native decoder. If not
-1, pixels with this index will be left at their previous value.
This only adds the decoder support and isn't active yet.
2021-03-16 23:17:12 +11:00
Andrew Murray
2f84f633e3
Create disposal image at the destination size, instead of cropping
2021-03-14 13:40:55 +11:00
Andrew Murray
16dbffc3a8
_crop already makes a copy of the image
2021-03-14 13:31:16 +11:00
Alexander
1ff61bcaa6
use offset for all binary input functions instead of slicing
2020-12-30 19:10:50 +11:00
Alexander
3757b8c748
remove extra i8 calls where input is proved bytes[] or int
2020-12-30 19:04:11 +11:00
Andrew Murray
9940c84b08
Use previous disposal method in load_end
2020-12-23 13:22:53 +11:00
Hugo van Kemenade
e0eec1eb56
Merge branch 'master' into rm-3.5
2020-09-01 20:16:46 +03:00
Hugo van Kemenade
10615a7da7
Upgrade Python syntax for 3.6+
...
Co-authored-by: nulano <nulano@nulano.eu>
2020-07-30 10:09:18 +03:00
Andrew Murray
4ae694cd7b
Merge pull request #4712 from cool-RR/2020-06-12-raise-from
...
Fix exception causes all over the codebase
2020-06-28 15:22:05 +10:00
Andrew Murray
9b6fdd719f
Call _accept instead of duplicating code
2020-06-23 17:41:13 +10:00
Ram Rachum
2f0d430807
Fix exception causes all over the codebase
2020-06-21 13:21:25 +03:00
Hugo
dda6145fce
Since Python 3.3 IOError and WindowsError have been merged into OSError
2020-04-10 12:57:29 +03:00
Alexander
54f3dc6006
Math functions return int in Python 3
2020-02-08 00:34:53 +03:00
Andrew Murray
e8bb2dd93e
Allow string comment when saving GIF
2020-01-01 13:29:39 +11:00
Andrew Murray
1740a1f20e
Ensure tempfile is unlinked
2019-12-25 15:22:54 +11:00
Hugo
e5486b40f8
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-18 13:56:42 +02:00
Hugo
0c5895470c
Remove deprecated __version__ from plugins
2019-11-05 17:01:03 +02:00
Hugo
84e53e3757
Simplify using subprocess.DEVNULL
...
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:42 +03:00
Andrew Murray
6cd99fc3cf
Merge branch 'master' into rm-2.7
2019-10-08 18:57:27 +11:00
Jon Dufresne
64032061c0
Move several imports to the top-level of the file
...
This better follows PEP 8 style guide:
https://www.python.org/dev/peps/pep-0008/#imports
> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.
This also avoids duplicate import code within the same file.
2019-10-07 06:28:36 -07:00
Hugo
538d9e2e5d
Upgrade Python syntax with pyupgrade --py3-plus
2019-10-07 14:30:59 +03:00
Andrew Murray
eed2bfc5b4
Added decompression bomb checks
2019-09-30 18:45:13 +10:00
Andrew Murray
2dbfabe6d5
Simplifications
2019-08-24 08:10:45 +10:00
djy0
dc9c0dbfbe
format
2019-08-12 18:54:29 +10:00
djy0
3499f50e52
format
2019-08-12 18:54:29 +10:00
djy0
fcaf27d51c
Update GifImagePlugin.py
2019-08-12 18:54:29 +10:00
Jon Dufresne
d50445ff30
Introduce isort to automate import ordering and formatting
...
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.
Uses the configuration recommended by the Black to avoid conflicts of
style.
Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Andrew Murray
90d3d37164
Do not presume that the background color index is 0
2019-06-29 23:06:45 +10:00
Andrew Murray
97c15a245c
Corrected color table size calculation
2019-06-29 23:02:26 +10:00
Andrew Murray
3e4db05249
Removed code not required by tests
2019-06-29 23:02:17 +10:00
Andrew Murray
c3e982e0c6
Merge branch 'master' into master
2019-06-29 22:59:17 +10:00
Hugo
53a7e35004
Format with Black
2019-06-10 18:22:46 +03:00
Andrew Murray
27134340f5
Expand GIF to include frames with extents outside the image size
2019-05-02 19:46:17 +10:00
Riley Lahd
5fb36d2de4
Merge branch 'master' of https://github.com/python-pillow/Pillow
2019-04-09 08:24:52 -06:00
Riley Lahd
7443e6d36b
Clean up disposal flag check
2019-04-09 08:23:59 -06:00
Riley Lahd
4b2746fc39
Remove disposal 2 duplicate frame exemption and add true delta test
2019-03-22 08:19:01 -06:00
Andrew Murray
7dfbdc01f4
Fixed bug when rewinding to a non-zero frame
2019-03-16 20:02:24 +11:00
Riley Lahd
85a07bb385
Linting changes
2019-03-14 14:51:13 -06:00
Riley Lahd
53cfd19a44
Check encoder info for disposal mode
2019-03-14 14:44:15 -06:00
Riley Lahd
8a36a15ebd
Force include colour table for disposal=2 gifs and pad colour table to be valid when flag is set
2019-03-14 14:41:10 -06:00
Riley Lahd
583d731a96
Fix line indents for linting
2019-03-11 08:02:04 -06:00
Riley Lahd
3b74281a2f
Fix line lengths and init background out of loop
2019-03-11 07:55:37 -06:00
Riley Lahd
3b1a1fbfd2
Create background image for calculating gif deltas
2019-03-11 07:41:14 -06:00
Riley Lahd
4a2be2af2d
Create gif frame delta by subtracting 0x0 image if disposal is mode 2
2019-03-08 15:56:31 -07:00
Riley Lahd
1f6d1be7fc
Ensure disposal key exists before checking
2019-03-08 12:57:53 -07:00
Riley Lahd
ae194096d0
Allow correct delta generation for GIFs with disposal 2 ( Fixes #3665 )
2019-03-08 12:48:22 -07:00
Andrew Murray
525eaf7389
Renamed file variable
2019-03-03 13:02:00 +11:00
Jon Dufresne
a11fed32b3
Deprecate PIL.*ImagePlugin.__version__ attributes
...
Use PIL.__version__ instead.
2019-02-02 17:39:55 -08:00
Andrew Murray
71b64dcf73
Only close __fp if not fp
2019-01-04 12:29:23 +11:00
Hugo
bbb3be9a9d
Merge pull request #3187 from radarhere/encoderinfo
...
Wait until mode is normalized to copy im.info into encoderinfo
2018-12-26 12:56:50 +02:00
Hugo
961fecb35c
Merge pull request #3261 from radarhere/fp
...
Resolve __fp when closing and deleting
2018-12-13 21:09:23 +02:00
Andrew Murray
b2b737b68b
Allow arbitrary number of comment extension subblocks
2018-11-27 21:11:22 +11:00
Andrew Murray
f1b2802eb1
Resolved error for comment extension with zero subblocks
2018-11-27 21:09:28 +11:00
Andrew Murray
47775f3d50
Resolve __fp when closing and deleting
2018-11-17 21:56:06 +11:00
Andrew Murray
a7eb2ea9cc
Change tuple background to global color table index when saving
2018-10-02 20:52:07 +10:00
Andrew Murray
0adeb82e98
Changed Image size property to be read-only by default
2018-09-30 13:45:18 +10:00
Andrew Murray
fbc121d678
Changed GIF seek to remove previous info items
2018-09-01 09:28:22 +10:00
Andrew Murray
de2fbc9dff
Wait until mode is normalized to copy im.info into encoderinfo
2018-08-25 00:55:51 +10:00
Andrew Murray
c2189235af
Line too long
2018-07-02 19:26:02 +10:00
Andrew Murray
0e61d4be9f
Removed unused variables
2018-07-02 19:21:44 +10:00
Andrew Murray
05c78a13e7
Changed encoderinfo to have priority over info when saving GIF images
2018-04-11 08:57:31 +10:00
wiredfool
659824773b
Merge pull request #2996 from timgraham/invalid-escape
...
Fix "invalid escape sequence" warning on Python 3.6+
2018-03-21 07:50:34 +00:00
Andrew Murray
2202196162
Flake8 blank line fixes
2018-03-04 21:36:33 +11:00