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 はおそらく、何らかの方法で RGB カラーを CMYK に変換し、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が必要です。どうにかしてこの動作を達成できますか?