Я пытаюсь создать изображение в цветовом пространстве CMYK и после работы с ним, например, рисование линий и т. Д., Сохранить его в файл. К сожалению, в интернете не так много информации о CMYK в java. Я нашел только статью http://carback.us/rick/blog/?p=58. Но там изображение сохраняется в PDF, используя библиотеку iText. Но мне нужно, чтобы он был сохранен в PNG или JPEG-файл. Вот код:
public BufferedImage createCMYKBufferedImage(double l_width, double l_height) {
ColorSpace colorSpace = SimpleCMYKColorSpace.getInstance();
ComponentColorModel l_ccm = new ComponentColorModel(colorSpace, false, false,
1, DataBuffer.TYPE_FLOAT);
int[] l_bandoff = {0, 1, 2, 3}; //Index for each color (C, is index 0, etc)
PixelInterleavedSampleModel l_sm = new PixelInterleavedSampleModel(
DataBuffer.TYPE_FLOAT,
(int)l_width, (int)l_height,
4,(int)l_width*4, l_bandoff);
WritableRaster l_raster = WritableRaster.createWritableRaster(l_sm,
new Point(0, 0));
return new BufferedImage(l_ccm, l_raster, false, null);
}
Когда я пытаюсь сохранить изображение, я просто звоню
ImageIO.write (изображение, формат, файл);
Кто-нибудь может мне помочь?