从 RGB 绘制 CMYK 颜色

Draw CMYK Color from RGB

您好。我有一个像上面这样的屏幕。通过使用滑块,我得到红色、绿色、蓝色。此外,我计算青色、洋红色、黄色,并从红色、绿色、蓝色计算 CMYK。我的问题是有什么方法可以在 java 中显示 CMYK 颜色,如图片中的浅紫色。

private void stateChanged() {
      red= sliderRed.getValue();
      green= sliderGreen.getValue();
      blue= sliderBlue.getValue();
      txt_background.setBackground(new Color(red, green, blue));
}

在我看来,java 颜色 class 有一个用于在 cmyk 中创建颜色对象的构造函数

https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#Color(java.awt.color.ColorSpace,%20float[],%20float)

https://docs.oracle.com/javase/7/docs/api/java/awt/color/ColorSpace.html

所以你最终会得到类似

的结果

Color cmykColorValue = new Color(TYPE_CMYK, [cValue, mValue, yValue, kValue], alpha)

其中alpha是0到1的形式,cValue、mValue、yValue、kValue是对应的cmyk值。

这应该会创建一个新的 CMYK 颜色对象,可以在任何可以使用颜色对象的地方使用。

CMYK 颜色构造函数的正确用法如下:

java.awt.Color cmyk = new Color(ColorSpace.getInstance(ColorSpace.TYPE_CMYK), new float [] {cyan,magenta,yellow}, key/alpha);