2020-02-17 21:31:38 +03:00
|
|
|
from PIL import Image, ImageMode
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
from .helper import hopper
|
2019-07-06 23:40:53 +03:00
|
|
|
|
2014-06-10 13:10:47 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
def test_sanity():
|
2014-06-10 13:10:47 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
with hopper() as im:
|
|
|
|
im.mode
|
2014-06-10 13:10:47 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
ImageMode.getmode("1")
|
|
|
|
ImageMode.getmode("L")
|
|
|
|
ImageMode.getmode("P")
|
|
|
|
ImageMode.getmode("RGB")
|
|
|
|
ImageMode.getmode("I")
|
|
|
|
ImageMode.getmode("F")
|
2014-07-20 01:51:26 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
m = ImageMode.getmode("1")
|
|
|
|
assert m.mode == "1"
|
|
|
|
assert str(m) == "1"
|
|
|
|
assert m.bands == ("1",)
|
|
|
|
assert m.basemode == "L"
|
|
|
|
assert m.basetype == "L"
|
2022-02-15 10:01:02 +03:00
|
|
|
assert m.typestr == "|b1"
|
2014-07-20 01:51:26 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
for mode in (
|
|
|
|
"I;16",
|
|
|
|
"I;16S",
|
|
|
|
"I;16L",
|
|
|
|
"I;16LS",
|
|
|
|
"I;16B",
|
|
|
|
"I;16BS",
|
|
|
|
"I;16N",
|
|
|
|
"I;16NS",
|
|
|
|
):
|
|
|
|
m = ImageMode.getmode(mode)
|
|
|
|
assert m.mode == mode
|
|
|
|
assert str(m) == mode
|
|
|
|
assert m.bands == ("I",)
|
|
|
|
assert m.basemode == "L"
|
|
|
|
assert m.basetype == "L"
|
2019-06-12 13:33:00 +03:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
m = ImageMode.getmode("RGB")
|
|
|
|
assert m.mode == "RGB"
|
|
|
|
assert str(m) == "RGB"
|
|
|
|
assert m.bands == ("R", "G", "B")
|
|
|
|
assert m.basemode == "RGB"
|
|
|
|
assert m.basetype == "L"
|
2022-02-15 10:01:02 +03:00
|
|
|
assert m.typestr == "|u1"
|
2014-07-20 01:51:26 +04:00
|
|
|
|
2019-06-13 18:54:24 +03:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
def test_properties():
|
|
|
|
def check(mode, *result):
|
|
|
|
signature = (
|
|
|
|
Image.getmodebase(mode),
|
|
|
|
Image.getmodetype(mode),
|
|
|
|
Image.getmodebands(mode),
|
|
|
|
Image.getmodebandnames(mode),
|
|
|
|
)
|
|
|
|
assert signature == result
|
|
|
|
|
|
|
|
check("1", "L", "L", 1, ("1",))
|
|
|
|
check("L", "L", "L", 1, ("L",))
|
|
|
|
check("P", "P", "L", 1, ("P",))
|
|
|
|
check("I", "L", "I", 1, ("I",))
|
|
|
|
check("F", "L", "F", 1, ("F",))
|
|
|
|
check("RGB", "RGB", "L", 3, ("R", "G", "B"))
|
|
|
|
check("RGBA", "RGB", "L", 4, ("R", "G", "B", "A"))
|
|
|
|
check("RGBX", "RGB", "L", 4, ("R", "G", "B", "X"))
|
|
|
|
check("CMYK", "RGB", "L", 4, ("C", "M", "Y", "K"))
|
|
|
|
check("YCbCr", "RGB", "L", 3, ("Y", "Cb", "Cr"))
|