Voltoni CMYK Java


Non lo so se questo è già risposto in una domanda diversa, ma non ho trovato nulla al riguardo.

Il mio obiettivo è creare un documento PDF-X1a / PDF-X3 valido tramite iText 2.1.7 Ho usato JAI per convertire un'immagine RGB in CMYK e sono anche in grado di creare un documento PDF-X. Il validatore di Acrobat Pro sta sottolineando che la mia immagine che ho convertito contiene colori speciali (Volton in Adobe) che non sono nello spazio colore CMYK. Questi colori devono essere dichiarati separatamente. C'è un possibile soluzione per farlo con java e fornire all'immagine le informazioni necessarie?

Al momento la mia conversione appare così

BufferedImage rgbImage = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedImage cmykImage = null;
byte[] imageInByte = new byte[0];
try {
  rgbImage = ImageIO.read(image);
  ColorSpace cpace = new ICC_ColorSpace(ICC_Profile.getInstance(_iccCmykProfile.getInputStream()));
  ColorConvertOp op = new ColorConvertOp(cpace, null);
  cmykImage = op.filter(rgbImage, null);
  JAI.create("encode", cmykImage, baos, "TIFF");
  baos.flush();
  imageInByte = baos.toByteArray();
  baos.close();
} catch (IOException e) {
  e.printStackTrace();
}
return imageInByte;
Author: Tobias Timm, 2015-11-10

1 answers

È una versione additiva di CMYK, ma spero che funzioni.

var cmyk = function (cyan, magenta, yellow, key) {    
    var red = magenta*255 + yellow*255 - cyan*255 - key*(255*2.2);
    var green = cyan*255 + yellow*255 - magenta*255 - key*(255*2.2);
    var blue = magenta*255 + cyan*255 - yellow*255 - key*(255*2.2);
    fill (red, green, blue);
};
 -2
Author: user5848603, 2016-01-27 19:27:34