mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-03-23 19:44:13 +03:00
Merge pull request #4726 from hugovk/fix-png-disposal-comparison-bug
APNG: Fix setting disposal
This commit is contained in:
commit
4cf7c562e4
|
@ -494,6 +494,26 @@ def test_apng_save_disposal(tmp_path):
|
||||||
assert im.getpixel((64, 32)) == (0, 255, 0, 255)
|
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):
|
def test_apng_save_blend(tmp_path):
|
||||||
test_file = str(tmp_path / "temp.png")
|
test_file = str(tmp_path / "temp.png")
|
||||||
size = (128, 64)
|
size = (128, 64)
|
||||||
|
|
|
@ -1038,7 +1038,7 @@ def _write_multiple_frames(im, fp, chunk, rawmode):
|
||||||
prev_disposal = previous["encoderinfo"].get("disposal")
|
prev_disposal = previous["encoderinfo"].get("disposal")
|
||||||
prev_blend = previous["encoderinfo"].get("blend")
|
prev_blend = previous["encoderinfo"].get("blend")
|
||||||
if prev_disposal == APNG_DISPOSE_OP_PREVIOUS and len(im_frames) < 2:
|
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:
|
if prev_disposal == APNG_DISPOSE_OP_BACKGROUND:
|
||||||
base_im = previous["im"]
|
base_im = previous["im"]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user