// CMYK = Cyan, Magenta, Yellow, Key(black)
// RGB = Red, Green, Blue
import java.util.Arrays;
public class MyClass {
private static double[] RGBtoCMYK(double R, double G, double B) {
if (R == 0 && G == 0 && B == 0) {
return new double[]{ 0, 0, 0, 1 };
}
R = R / 255.0 * 100;
G = G / 255.0 * 100;
B = B / 255.0 * 100;
double K = 100 - Math.max(Math.max((int)R, (int)G), (int)B);
if (K == 100) {
return new double[]{ 0, 0, 0, 100 };
}
double C = Math.round((100 - R - K) / (100 - K) * 100);
double M = Math.round((100 - G - K) / (100 - K) * 100);
double Y = Math.round((100 - B - K) / (100 - K) * 100);
return new double[]{ C, M, Y, K };
}
public static void main(String args[]) {
double[] CMYK = RGBtoCMYK(245.0f, 213.0f, 0.0f);
System.out.println(Arrays.toString(CMYK));
}
}
/*
run:
[0.0, 13.0, 100.0, 4.0]
*/