test for common modes and filters

pass box for RGBA → RGBa conversion
This commit is contained in:
homm 2016-12-02 16:33:48 +03:00
parent cf25722a73
commit 77210e410d
2 changed files with 11 additions and 2 deletions

View File

@ -1558,10 +1558,10 @@ class Image(object):
resample = NEAREST
if self.mode == 'LA':
return self.convert('La').resize(size, resample).convert('LA')
return self.convert('La').resize(size, resample, box).convert('LA')
if self.mode == 'RGBA':
return self.convert('RGBa').resize(size, resample).convert('RGBA')
return self.convert('RGBa').resize(size, resample, box).convert('RGBA')
self.load()

View File

@ -451,6 +451,15 @@ class CoreResampleBoxTest(PillowTestCase):
with self.assertRaisesRegexp(AssertionError, "difference 29\."):
self.assert_image_similar(reference, without_box, 5)
def test_formats(self):
for resample in [Image.NEAREST, Image.BILINEAR]:
for mode in ['RGB', 'L', 'RGBA', 'LA', 'I', '']:
im = hopper(mode)
box = (20, 20, im.size[0] - 20, im.size[1] - 20)
with_box = im.resize((32, 32), resample, box)
cropped = im.crop(box).resize((32, 32), resample)
self.assert_image_similar(cropped, with_box, 0.4)
if __name__ == '__main__':
unittest.main()