mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-27 10:26:19 +03:00
65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
|
from tester import *
|
||
|
|
||
|
from PIL import Image
|
||
|
|
||
|
def test_getcolors():
|
||
|
|
||
|
def getcolors(mode, limit=None):
|
||
|
im = lena(mode)
|
||
|
if limit:
|
||
|
colors = im.getcolors(limit)
|
||
|
else:
|
||
|
colors = im.getcolors()
|
||
|
if colors:
|
||
|
return len(colors)
|
||
|
return None
|
||
|
|
||
|
assert_equal(getcolors("1"), 2)
|
||
|
assert_equal(getcolors("L"), 193)
|
||
|
assert_equal(getcolors("I"), 193)
|
||
|
assert_equal(getcolors("F"), 193)
|
||
|
assert_equal(getcolors("P"), 54) # fixed palette
|
||
|
assert_equal(getcolors("RGB"), None)
|
||
|
assert_equal(getcolors("RGBA"), None)
|
||
|
assert_equal(getcolors("CMYK"), None)
|
||
|
assert_equal(getcolors("YCbCr"), None)
|
||
|
|
||
|
assert_equal(getcolors("L", 128), None)
|
||
|
assert_equal(getcolors("L", 1024), 193)
|
||
|
|
||
|
assert_equal(getcolors("RGB", 8192), None)
|
||
|
assert_equal(getcolors("RGB", 16384), 14836)
|
||
|
assert_equal(getcolors("RGB", 100000), 14836)
|
||
|
|
||
|
assert_equal(getcolors("RGBA", 16384), 14836)
|
||
|
assert_equal(getcolors("CMYK", 16384), 14836)
|
||
|
assert_equal(getcolors("YCbCr", 16384), 11995)
|
||
|
|
||
|
# --------------------------------------------------------------------
|
||
|
|
||
|
def test_pack():
|
||
|
# Pack problems for small tables (@PIL209)
|
||
|
|
||
|
im = lena().quantize(3).convert("RGB")
|
||
|
|
||
|
expected = [(3236, (227, 183, 147)), (6297, (143, 84, 81)), (6851, (208, 143, 112))]
|
||
|
|
||
|
A = im.getcolors(maxcolors=2)
|
||
|
assert_equal(A, None)
|
||
|
|
||
|
A = im.getcolors(maxcolors=3)
|
||
|
A.sort()
|
||
|
assert_equal(A, expected)
|
||
|
|
||
|
A = im.getcolors(maxcolors=4)
|
||
|
A.sort()
|
||
|
assert_equal(A, expected)
|
||
|
|
||
|
A = im.getcolors(maxcolors=8)
|
||
|
A.sort()
|
||
|
assert_equal(A, expected)
|
||
|
|
||
|
A = im.getcolors(maxcolors=16)
|
||
|
A.sort()
|
||
|
assert_equal(A, expected)
|