我想绘制一些 Graphics2D 对象,使用 java 打印机制。所以我必须定义一个可打印的子类。
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:在 Postscript 中由 java 代码使用指令setrgbcolor生成,但我需要setcmykcolor。我能以某种方式实现这种行为吗?