2023-12-21 14:13:31 +03:00
|
|
|
from __future__ import annotations
|
2024-01-20 14:23:03 +03:00
|
|
|
|
2012-10-16 00:26:38 +04:00
|
|
|
from PIL import Image
|
|
|
|
|
2019-07-06 23:40:53 +03:00
|
|
|
|
2024-01-25 14:18:46 +03:00
|
|
|
def test_interface() -> None:
|
2020-01-27 14:46:52 +03:00
|
|
|
im = Image.new("RGBA", (1, 1), (1, 2, 3, 0))
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2, 3, 0)
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im = Image.new("RGBA", (1, 1), (1, 2, 3))
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2, 3, 255)
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im.putalpha(Image.new("L", im.size, 4))
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2, 3, 4)
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im.putalpha(5)
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2, 3, 5)
|
2012-10-16 00:26:38 +04:00
|
|
|
|
|
|
|
|
2024-01-25 14:18:46 +03:00
|
|
|
def test_promote() -> None:
|
2020-01-27 14:46:52 +03:00
|
|
|
im = Image.new("L", (1, 1), 1)
|
|
|
|
assert im.getpixel((0, 0)) == 1
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im.putalpha(2)
|
|
|
|
assert im.mode == "LA"
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2)
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im = Image.new("P", (1, 1), 1)
|
|
|
|
assert im.getpixel((0, 0)) == 1
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im.putalpha(2)
|
|
|
|
assert im.mode == "PA"
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2)
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im = Image.new("RGB", (1, 1), (1, 2, 3))
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2, 3)
|
2019-03-19 03:13:58 +03:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im.putalpha(4)
|
|
|
|
assert im.mode == "RGBA"
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2, 3, 4)
|
2019-03-19 03:13:58 +03:00
|
|
|
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2024-01-25 14:18:46 +03:00
|
|
|
def test_readonly() -> None:
|
2020-01-27 14:46:52 +03:00
|
|
|
im = Image.new("RGB", (1, 1), (1, 2, 3))
|
|
|
|
im.readonly = 1
|
2012-10-16 00:26:38 +04:00
|
|
|
|
2020-01-27 14:46:52 +03:00
|
|
|
im.putalpha(4)
|
|
|
|
assert not im.readonly
|
|
|
|
assert im.mode == "RGBA"
|
|
|
|
assert im.getpixel((0, 0)) == (1, 2, 3, 4)
|