diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index c40213476f3..c52d3420e8f 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -193,6 +193,10 @@ def test_cover(image_name: str, expected_size: tuple[int, int]) -> None: def test_cover_zero() -> None: + im = Image.new("1", (0, 10)) + new_im = ImageOps.cover(im, (5, 5)) + assert new_im.size == (0, 5) + im = Image.new("1", (10, 0)) new_im = ImageOps.cover(im, (5, 5)) assert new_im.size == (5, 0) diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index 364bcc90911..b40af6330bb 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -349,6 +349,8 @@ def cover( :return: An image. """ + if image.width == 0: + return Image.new(image.mode, (0, size[1])) if image.height == 0: return Image.new(image.mode, (size[0], 0)) im_ratio = image.width / image.height