Closed hofmannmartin closed 5 years ago
I worked on DIN99 (originally Glenn Sweeney) and implemented DIN99o back then... I’ll have a look at the DIN99d conversion. Probably the intermediate conversion step to XYZ is causing the problem.
Found the culprit: Several errors, rotation in wrong direction, one wrong sign in function cnvt{T}(::Type{XYZ{T}}, c::DIN99d)
This is what you get now:
julia> convert(RGB,convert(DIN99d,RGB(1,0.5,0.0)))
RGB{Float64}(0.9999999224685044,0.5000001510720956,0.0)
Should be fixed now.
Thank you very much. Could you make a pull request for your patch?
I thought I already had. Something must have gone wrong. I'll make a pull request as soon as I can.
Edit: Done
Normally, I would expect that the conversion
c1::TypeA
->c2::TypeB
->c3::TypeA
yields thatc1
is approximately equal toc3
. However for the types above one getswhich suggests, that there is a problem with the conversion
RGB
<->DIN99d
.