Allow correct delta generation for GIFs with disposal 2 (Fixes #3665)

This commit is contained in:
Riley Lahd 2019-03-08 12:48:22 -07:00
parent 22ae782320
commit ae194096d0

View File

@ -443,7 +443,10 @@ def _write_multiple_frames(im, fp, palette):
if im_frames: if im_frames:
# delta frame # delta frame
previous = im_frames[-1] previous = im_frames[-1]
if _get_palette_bytes(im_frame) == \ if encoderinfo["disposal"] == 2:
# If diposing whole frame, treat full new frame as delta
delta = im_frame
elif _get_palette_bytes(im_frame) == \
_get_palette_bytes(previous['im']): _get_palette_bytes(previous['im']):
delta = ImageChops.subtract_modulo(im_frame, delta = ImageChops.subtract_modulo(im_frame,
previous['im']) previous['im'])