Преобразование 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]...

Кто-нибудь может объяснить мне, почему? и как я могу это исправить?

0 ответов

Другие вопросы по тегам