python-colormath
python-colormath copied to clipboard
conversion between different RGB spaces doesn't work
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)
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.
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.