Pillow/Tests/test_image_getextrema.py
2024-06-01 21:31:53 +10:00

28 lines
867 B
Python

from __future__ import annotations
from PIL import Image
from .helper import hopper
def test_extrema() -> None:
def extrema(mode: str) -> tuple[float, float] | tuple[tuple[int, int], ...]:
return hopper(mode).getextrema()
assert extrema("1") == (0, 255)
assert extrema("L") == (1, 255)
assert extrema("I") == (1, 255)
assert extrema("F") == (1, 255)
assert extrema("P") == (0, 225) # fixed palette
assert extrema("RGB") == ((0, 255), (0, 255), (0, 255))
assert extrema("RGBA") == ((0, 255), (0, 255), (0, 255), (255, 255))
assert extrema("CMYK") == ((0, 255), (0, 255), (0, 255), (0, 0))
assert extrema("I;16") == (1, 255)
def test_true_16() -> None:
with Image.open("Tests/images/16_bit_noise.tif") as im:
assert im.mode == "I;16"
extrema = im.getextrema()
assert extrema == (106, 285)