在 android studio 中有什么方法可以将 RGB 值 (0-255) 转换为 CMYK 值 (0-99)?

Is there any way to convert RGB values (0-255) to CMYK value (0-99) in android studio?

我正在制作一个应用程序来控制 5050 LED 灯条的 LED 颜色。颜色选择器为我提供了 RGB 代码,但 5050 LED 灯条遵循 CMYK 颜色格式。在 android studio 中有什么方法可以将 RGB 值 (0-255) 转换为 CMYK 值 (0-99)?

这里有一个简单的 class 将 RGB 转换为 CMYK,正常的 cmyk 是从 0.0 到 1.0,只需使用缩放器从 0 到 99。没有 android 颜色转换器我发现本机可以转换为 cmyk。

public class CMYK
    {
        float cyan = 0.0f;
        float magenta = 0.0f;
        float yellow = 0.0f;
        float black = 0.0f;


        public void convertRGBtoCMYK(int r, int g, int b)
        {

            float _r = (float) (r / 255);
            float _g = (float) (g / 255);
            float _b = (float) (b / 255);

            black = 1.0f - max(_r, _g, _b);

            cyan = (1.0f - _r - black) / (1.0f - black);
            magenta = (1.0f - _g - black) / (1.0f - black);
            yellow = (1.0f - _b - black) / (1.0f - black);
        }

        private float max(float a, float b, float c)
        {
            if (a > b && a > c)
                return a;
            if (b > a && b > c)
                return b;
            if (c > a && c > b)
                return c;

            // all equal just return a
            return a;
        }
    }