gpt4 book ai didi

CMYK 中的 Java 打印

转载 作者:行者123 更新时间:2023-11-29 05:47:00 24 4
gpt4 key购买 nike

我想使用 java 打印机制绘制一些 Graphics2D 对象。所以我必须定义一个 Printable 的子类。

public class PrintCMYK() implements Printable {
public int print(Graphics g, PageFormat pf, int page)
throws PrinterException {
g.setColor(Color.RED);
g.fillOval(44, 44, 100, 100);
}
}

所以这段代码只是打印了一个红色的 rgb 圆圈。 Java 可能会以某种方式转换某些 CMYK 中的 rgb 颜色,以便能够使用 CMYK 打印它。但我想在这里完全控制。那么我能否以某种方式显式设置所需的 CMYK 颜色。有点像

public class PrintCMYK() implements Printable {
public int print(Graphics g, PageFormat pf, int page)
throws PrinterException {
float[] ff = {0, 1, 0, 0}; // pure magenta
Color cmykColor = new Color(ColorSpace.getInstance(TYP_CMYK), ff, 1);
g.setPaint(cmykColor);
g.fillOval(44, 44, 100, 100);
}
}

不幸的是,这段代码不起作用。

UPD:在由 java 代码生成的 Postscript 中使用指令 setrgbcolor 但我需要 setcmykcolor。我能以某种方式实现这种行为吗?

最佳答案

没有简单的方法来做到这一点 - 因为没有用于 RGB 和 CMYK 之间转换的精确算法。如果您被迫使用 CMYK 色彩空间,您有 2 条出路:

  1. RGB 和 CMYK 之间的近似转换,反之亦然(http://www.javascripter.net/faq/rgb2cmyk.htmhttp://www.rapidtables.com/convert/color/cmyk-to-rgb.htm)

  2. 使用配置文件 ( RGB to CMYK and back algorithm)

编辑:

RGB 描述计算机显示器的颜色。 CMYK 描述打印颜色。您无需关心这一点 - CMYK 取决于打印机,只需使用 RGB 即可打印。

编辑 2:如何确保打印颜色最接近所需颜色: http://desktoppub.about.com/cs/colorcalibration/a/cal_printer.htm?terms=color+calibration

关于CMYK 中的 Java 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com