diff --git a/PIL/ImageColor.py b/PIL/ImageColor.py index 107df193a..98a241bb0 100644 --- a/PIL/ImageColor.py +++ b/PIL/ImageColor.py @@ -20,15 +20,6 @@ from PIL import Image import re - -## -# Convert color string to RGB tuple. -# -# @param color A CSS3-style colour string. -# @return An RGB-tuple. -# @exception ValueError If the color string could not be interpreted -# as an RGB value. - def getrgb(color): """ Convert a color string to an RGB tuple. If the string cannot be parsed, @@ -37,7 +28,7 @@ def getrgb(color): .. versionadded:: 1.1.4 :param color: A color string - :return: ``(red, green, blue)`` + :return: ``(red, green, blue[, alpha])`` """ try: rgb = colormap[color] @@ -114,7 +105,7 @@ def getcolor(color, mode): .. versionadded:: 1.1.4 :param color: A color string - :return: ``(red, green, blue)`` + :return: ``(graylevel [, alpha]) or (red, green, blue[, alpha])`` """ # same as getrgb, but converts the result to the given mode color, alpha = getrgb(color), 255 diff --git a/Tests/test_imagecolor.py b/Tests/test_imagecolor.py index acdb84213..c67c20255 100644 --- a/Tests/test_imagecolor.py +++ b/Tests/test_imagecolor.py @@ -41,7 +41,11 @@ Image.new("L", (1, 1), "white") assert_equal(0, ImageColor.getcolor("black", "1")) assert_equal(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 assert_equal(162, ImageColor.getcolor("rgba(0, 255, 115, 33)", "1")) +# Correct behavior +# assert_equal(255, ImageColor.getcolor("rgba(0, 255, 115, 33)", "1")) Image.new("1", (1, 1), "white") assert_equal((0, 255), ImageColor.getcolor("black", "LA"))