diff --git a/Tests/images/imagedraw_floodfill_L.png b/Tests/images/imagedraw_floodfill_L.png index 4139e66d8..daaf9422d 100644 Binary files a/Tests/images/imagedraw_floodfill_L.png and b/Tests/images/imagedraw_floodfill_L.png differ diff --git a/Tests/images/imagedraw_polygon_kite_L.png b/Tests/images/imagedraw_polygon_kite_L.png index 241d86bf4..0d9a1c8f8 100644 Binary files a/Tests/images/imagedraw_polygon_kite_L.png and b/Tests/images/imagedraw_polygon_kite_L.png differ diff --git a/Tests/test_image_entropy.py b/Tests/test_image_entropy.py index bc792bca6..941f7665d 100644 --- a/Tests/test_image_entropy.py +++ b/Tests/test_image_entropy.py @@ -7,9 +7,9 @@ class TestImageEntropy(PillowTestCase): return hopper(mode).entropy() self.assertAlmostEqual(entropy("1"), 0.9138803254693582) - self.assertAlmostEqual(entropy("L"), 7.06650513081286) - self.assertAlmostEqual(entropy("I"), 7.06650513081286) - self.assertAlmostEqual(entropy("F"), 7.06650513081286) + self.assertAlmostEqual(entropy("L"), 7.063008716585465) + self.assertAlmostEqual(entropy("I"), 7.063008716585465) + self.assertAlmostEqual(entropy("F"), 7.063008716585465) self.assertAlmostEqual(entropy("P"), 5.0530452472519745) self.assertAlmostEqual(entropy("RGB"), 8.821286587714319) self.assertAlmostEqual(entropy("RGBA"), 7.42724306524488) diff --git a/Tests/test_image_getdata.py b/Tests/test_image_getdata.py index 18d381390..122ca3494 100644 --- a/Tests/test_image_getdata.py +++ b/Tests/test_image_getdata.py @@ -20,9 +20,9 @@ class TestImageGetData(PillowTestCase): return data[0], len(data), len(list(data)) self.assertEqual(getdata("1"), (0, 960, 960)) - self.assertEqual(getdata("L"), (16, 960, 960)) - self.assertEqual(getdata("I"), (16, 960, 960)) - self.assertEqual(getdata("F"), (16.0, 960, 960)) + self.assertEqual(getdata("L"), (17, 960, 960)) + self.assertEqual(getdata("I"), (17, 960, 960)) + self.assertEqual(getdata("F"), (17.0, 960, 960)) self.assertEqual(getdata("RGB"), ((11, 13, 52), 960, 960)) self.assertEqual(getdata("RGBA"), ((11, 13, 52, 255), 960, 960)) self.assertEqual(getdata("CMYK"), ((244, 242, 203, 0), 960, 960)) diff --git a/Tests/test_image_getextrema.py b/Tests/test_image_getextrema.py index 228eb82c8..78695c06b 100644 --- a/Tests/test_image_getextrema.py +++ b/Tests/test_image_getextrema.py @@ -9,14 +9,14 @@ class TestImageGetExtrema(PillowTestCase): return hopper(mode).getextrema() self.assertEqual(extrema("1"), (0, 255)) - self.assertEqual(extrema("L"), (0, 255)) - self.assertEqual(extrema("I"), (0, 255)) - self.assertEqual(extrema("F"), (0, 255)) + self.assertEqual(extrema("L"), (1, 255)) + self.assertEqual(extrema("I"), (1, 255)) + self.assertEqual(extrema("F"), (1, 255)) self.assertEqual(extrema("P"), (0, 225)) # fixed palette self.assertEqual(extrema("RGB"), ((0, 255), (0, 255), (0, 255))) self.assertEqual(extrema("RGBA"), ((0, 255), (0, 255), (0, 255), (255, 255))) self.assertEqual(extrema("CMYK"), ((0, 255), (0, 255), (0, 255), (0, 0))) - self.assertEqual(extrema("I;16"), (0, 255)) + self.assertEqual(extrema("I;16"), (1, 255)) def test_true_16(self): with Image.open("Tests/images/16_bit_noise.tif") as im: diff --git a/Tests/test_image_histogram.py b/Tests/test_image_histogram.py index 8d34658b8..fa1ea1d4b 100644 --- a/Tests/test_image_histogram.py +++ b/Tests/test_image_histogram.py @@ -8,9 +8,9 @@ class TestImageHistogram(PillowTestCase): return len(h), min(h), max(h) self.assertEqual(histogram("1"), (256, 0, 10994)) - self.assertEqual(histogram("L"), (256, 0, 638)) - self.assertEqual(histogram("I"), (256, 0, 638)) - self.assertEqual(histogram("F"), (256, 0, 638)) + self.assertEqual(histogram("L"), (256, 0, 662)) + self.assertEqual(histogram("I"), (256, 0, 662)) + self.assertEqual(histogram("F"), (256, 0, 662)) self.assertEqual(histogram("P"), (256, 0, 1871)) self.assertEqual(histogram("RGB"), (768, 4, 675)) self.assertEqual(histogram("RGBA"), (1024, 0, 16384)) diff --git a/Tests/test_imagecolor.py b/Tests/test_imagecolor.py index e4a7b7dfe..4f42ecc93 100644 --- a/Tests/test_imagecolor.py +++ b/Tests/test_imagecolor.py @@ -165,14 +165,14 @@ class TestImageColor(PillowTestCase): self.assertEqual(0, ImageColor.getcolor("black", "L")) self.assertEqual(255, ImageColor.getcolor("white", "L")) - self.assertEqual(162, ImageColor.getcolor("rgba(0, 255, 115, 33)", "L")) + self.assertEqual(163, ImageColor.getcolor("rgba(0, 255, 115, 33)", "L")) Image.new("L", (1, 1), "white") self.assertEqual(0, ImageColor.getcolor("black", "1")) self.assertEqual(255, ImageColor.getcolor("white", "1")) # The following test is wrong, but is current behavior # The correct result should be 255 due to the mode 1 - self.assertEqual(162, ImageColor.getcolor("rgba(0, 255, 115, 33)", "1")) + self.assertEqual(163, ImageColor.getcolor("rgba(0, 255, 115, 33)", "1")) # Correct behavior # self.assertEqual( # 255, ImageColor.getcolor("rgba(0, 255, 115, 33)", "1")) @@ -180,5 +180,5 @@ class TestImageColor(PillowTestCase): self.assertEqual((0, 255), ImageColor.getcolor("black", "LA")) self.assertEqual((255, 255), ImageColor.getcolor("white", "LA")) - self.assertEqual((162, 33), ImageColor.getcolor("rgba(0, 255, 115, 33)", "LA")) + self.assertEqual((163, 33), ImageColor.getcolor("rgba(0, 255, 115, 33)", "LA")) Image.new("LA", (1, 1), "white") diff --git a/src/PIL/ImageColor.py b/src/PIL/ImageColor.py index 692d7d2c3..5a8e53bb8 100644 --- a/src/PIL/ImageColor.py +++ b/src/PIL/ImageColor.py @@ -134,7 +134,7 @@ def getcolor(color, mode): if Image.getmodebase(mode) == "L": r, g, b = color - color = (r * 299 + g * 587 + b * 114) // 1000 + color = (r * 299 + g * 587 + b * 114 + 500) // 1000 if mode[-1] == "A": return (color, alpha) else: