Hello i am trying to write my own HSL Colorspace in Java but i ran into an problem with the CIEXYZ conversion...
I have already writen a from/toRGB Method but java requires to write a from/toCIEXYZ method too. I thought i could use the pre-implemented CIEXYZ Colorspace for that...
@Override
public float[] fromCIEXYZ(float[] colorvalue) {
return fromRGB(CIEXYZ.toRGB(colorvalue));
}
but this doesn't work and after some time i figured out that the CIEXYZ colorspace java provides doesnt works like i expected it...
ColorSpace cieXYZ = ColorSpace.getInstance(ColorSpace.CS_CIEXYZ);
System.out.println(Arrays.toString(cieXYZ.toRGB(cieXYZ.fromRGB(new float[]{1,0.5f,0}))));
the result of this small code is [0.9820706, 0.49709317, 0.122087434] and not [1 , 0.5, 0]...
can anybody explain me why? and how can i fix this?