在 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;
}
}
我正在制作一个应用程序来控制 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;
}
}