python-colormath icon indicating copy to clipboard operation
python-colormath copied to clipboard

conversion between different RGB spaces doesn't work

Open jan-warchol opened this issue 8 years ago • 2 comments

When I try to convert from one RGB space to another RGB space, I receive the result in the original space, not in the target space I specified:

from colormath.color_objects import sRGBColor, AdobeRGBColor
from colormath.color_conversions import convert_color

convert_color(sRGBColor(.5, .5, .5), AdobeRGBColor)
# result: sRGBColor(rgb_r=0.5,rgb_g=0.5,rgb_b=0.5)

If I go through a non-RGB space it works:

convert_color(convert_color(sRGBColor(.5, .5, .5), LabColor), AdobeRGBColor)
# result: AdobeRGBColor(rgb_r=0.49622736126049893,rgb_g=0.49622594102136347,rgb_b=0.49622822419096463)

jan-warchol avatar Jun 29 '16 22:06 jan-warchol

That's pretty weird. I honestly probably won't get around to checking this out anytime soon, but I'd certainly accept a PR with a fix. Bonus points for a matching test case.

gtaylor avatar Jul 01 '16 16:07 gtaylor

I looked at the code before submitting this issue, but from what I see the logic is non-trivial (using some transformation graphs) and I didn't see anything obvious. I will look at this again if I find enough time.

jan-warchol avatar Jul 01 '16 17:07 jan-warchol