Skip to content
Snippets Groups Projects
Commit 21a173026d4f authored by Andrew Murray's avatar Andrew Murray
Browse files

Merge pull request #4726 from hugovk/fix-png-disposal-comparison-bug

APNG: Fix setting disposal
No related branches found
No related tags found
No related merge requests found
......@@ -494,6 +494,26 @@
assert im.getpixel((64, 32)) == (0, 255, 0, 255)
def test_apng_save_disposal_previous(tmp_path):
test_file = str(tmp_path / "temp.png")
size = (128, 64)
transparent = Image.new("RGBA", size, (0, 0, 0, 0))
red = Image.new("RGBA", size, (255, 0, 0, 255))
green = Image.new("RGBA", size, (0, 255, 0, 255))
# test APNG_DISPOSE_OP_NONE
transparent.save(
test_file,
save_all=True,
append_images=[red, green],
disposal=PngImagePlugin.APNG_DISPOSE_OP_PREVIOUS,
)
with Image.open(test_file) as im:
im.seek(2)
assert im.getpixel((0, 0)) == (0, 255, 0, 255)
assert im.getpixel((64, 32)) == (0, 255, 0, 255)
def test_apng_save_blend(tmp_path):
test_file = str(tmp_path / "temp.png")
size = (128, 64)
......
......@@ -1038,7 +1038,7 @@
prev_disposal = previous["encoderinfo"].get("disposal")
prev_blend = previous["encoderinfo"].get("blend")
if prev_disposal == APNG_DISPOSE_OP_PREVIOUS and len(im_frames) < 2:
prev_disposal == APNG_DISPOSE_OP_BACKGROUND
prev_disposal = APNG_DISPOSE_OP_BACKGROUND
if prev_disposal == APNG_DISPOSE_OP_BACKGROUND:
base_im = previous["im"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment