Преобразование JAVA CIEXYZ ColorSpace
Здравствуйте, я пытаюсь написать свой собственный HSL Colorspace
в Java, но я столкнулся с проблемой с CIEXYZ
преобразования...
Я уже написал from/toRGB
Метод, но Java требует написать from/toCIEXYZ
метод тоже. Я думал, что мог бы использовать предварительно реализованный CIEXYZ Colorspace
для этого...
@Override
public float[] fromCIEXYZ(float[] colorvalue) {
return fromRGB(CIEXYZ.toRGB(colorvalue));
}
но это не работает, и через некоторое время я понял, что CIEXYZ
Цветовое пространство Java обеспечивает не работает, как я ожидал...
ColorSpace cieXYZ = ColorSpace.getInstance(ColorSpace.CS_CIEXYZ);
System.out.println(Arrays.toString(cieXYZ.toRGB(cieXYZ.fromRGB(new float[]{1,0.5f,0}))));
результат этого небольшого кода равен [0,9820706, 0,49709317, 0,122087434], а не [1, 0,5, 0]...
Кто-нибудь может объяснить мне, почему? и как я могу это исправить?