简体   繁体   English

从RGB绘制CMYK颜色

[英]Draw CMYK Color from RGB

Hello. 你好。 I have a screen like above. 我有一个像上面的屏幕。 By using the sliders, I get red, green, blue. 通过使用滑块,我得到红色,绿色,蓝色。 Also, I calculate cyan, magenta, yellow and from red, green, blue for CMYK. 另外,我计算青色,品红色,黄色以及CMYK的红色,绿色和蓝色。 My question is that is there any way to show CMYK colour in java like light purple in the picture. 我的问题是,有什么方法可以显示Java中的CMYK颜色,如图片中的浅紫色。

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

It looks to me like the java color class, has a constructor for making a color object in cmyk 在我看来,它像java color类,具有用于在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.html#Color(java.awt.color.ColorSpace,%20float[],%20float)

and

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

So you would end up with something like 所以你最终会得到类似

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

Where alpha is form 0 to 1, and cValue, mValue, yValue, kValue are the corresponding cmyk values. 其中alpha是0到1的形式,cValue,mValue,yValue,kValue是相应的cmyk值。

That should make a new CMYK color object that can be used anywhere a color object can be used. 那应该制作一个新的CMYK颜色对象,该颜色对象可以在可以使用颜色对象的任何地方使用。

用于CMYK的Color构造器的正确用法如下:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM