Loading imgutils/operate/align.py +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ from imgutils.data import ImageTyping, load_image def align_maxsize(image: ImageTyping, max_size: int) -> Image.Image: """ Resizes the image while maintaining its aspect ratio, ensuring that the length of its longer side does not exceed the specified maximum size. aligns with the given ``max_size``. :param image: The input image to be resized. :param max_size: The maximum length of the longer side after resizing. Loading test/operate/__init__.py 0 → 100644 +0 −0 Empty file added. test/operate/test_align.py 0 → 100644 +35 −0 Original line number Diff line number Diff line import pytest from PIL import Image from imgutils.operate import align_maxsize from test.testings import get_testfile @pytest.fixture() def genshin_post() -> Image.Image: return Image.open(get_testfile('genshin_post.jpg')) @pytest.mark.unittest class TestOperateAlign: def test_align_maxsize(self, genshin_post, image_diff): assert genshin_post.size == (1280, 720) _origin_mode = genshin_post.mode new_img1 = align_maxsize(genshin_post, 800) assert new_img1.size == (800, 450) assert new_img1.mode == _origin_mode assert image_diff( genshin_post.resize((800, 450)).convert('RGB'), new_img1.convert('RGB'), throw_exception=False ) < 1e-2 new_img2 = align_maxsize(genshin_post, 2000) assert new_img2.size == (2000, 1125) assert new_img2.mode == _origin_mode assert image_diff( genshin_post.resize((2000, 1125)).convert('RGB'), new_img2.convert('RGB'), throw_exception=False ) < 1e-2 Loading
imgutils/operate/align.py +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ from imgutils.data import ImageTyping, load_image def align_maxsize(image: ImageTyping, max_size: int) -> Image.Image: """ Resizes the image while maintaining its aspect ratio, ensuring that the length of its longer side does not exceed the specified maximum size. aligns with the given ``max_size``. :param image: The input image to be resized. :param max_size: The maximum length of the longer side after resizing. Loading
test/operate/test_align.py 0 → 100644 +35 −0 Original line number Diff line number Diff line import pytest from PIL import Image from imgutils.operate import align_maxsize from test.testings import get_testfile @pytest.fixture() def genshin_post() -> Image.Image: return Image.open(get_testfile('genshin_post.jpg')) @pytest.mark.unittest class TestOperateAlign: def test_align_maxsize(self, genshin_post, image_diff): assert genshin_post.size == (1280, 720) _origin_mode = genshin_post.mode new_img1 = align_maxsize(genshin_post, 800) assert new_img1.size == (800, 450) assert new_img1.mode == _origin_mode assert image_diff( genshin_post.resize((800, 450)).convert('RGB'), new_img1.convert('RGB'), throw_exception=False ) < 1e-2 new_img2 = align_maxsize(genshin_post, 2000) assert new_img2.size == (2000, 1125) assert new_img2.mode == _origin_mode assert image_diff( genshin_post.resize((2000, 1125)).convert('RGB'), new_img2.convert('RGB'), throw_exception=False ) < 1e-2