----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, November 20, 2001 1:44 AM
Subject: Re: Support for ICC profiles and CMYK jpeg
>
> hi Thomas,
>
> I can't download the source code that you provided for rendering CMYK
jpeg
> in pdf file, so, can you please send it to me, thank you very much.
>
>
> best rgds,
> ektan
hallo ektan,
i send you now the source-code for the image convert.
thanks
thomas k�bler
private void convert2(PrintWriter outp,String rgbdatei,boolean invert) {
int[] bitsCMYK = {8,8,8,8};// bits f�r den cmyk-Datensatz
String cmykProfile = "e:/icc/infoColor.icc"; // icc-profile cmyk
String rgbProfile = "e:/icc/sRGB Profile.icc";// icc-profile rgb
// Dateiname f�r die Ausgabe
StringTokenizer st = new StringTokenizer(rgbdatei,".");
StringBuffer buffer = new StringBuffer();
while ( st.hasMoreTokens() ) {
buffer.append(st.nextToken());
buffer.append("_cmyk");
buffer.append(".jpg");
break;
}
try {
RenderedImage inputRGB = JAI.create("fileload",rgbdatei);
// Create a CMYK Color Space from cmykProfile
ICC_Profile p = ICC_Profile.getInstance(new
FileInputStream(cmykProfile));
ColorSpace csCMYK = new ICC_ColorSpace(p);
ColorModel colorModelCMYK = new
ComponentColorModel(csCMYK,bitsCMYK,false,false,
Transparency.OPAQUE,
DataBuffer.TYPE_BYTE);
ImageLayout cmykLayout = new ImageLayout();
cmykLayout.setColorModel(colorModelCMYK);
RenderingHints hints = new
RenderingHints(JAI.KEY_IMAGE_LAYOUT,cmykLayout);
cmykLayout.setSampleModel(colorModelCMYK.createCompatibleSampleModel(inputRG
B.getWidth(),inputRGB.getHeight()));
java.awt.image.renderable.ParameterBlock pb = new
java.awt.image.renderable.ParameterBlock();
pb.addSource(inputRGB);
pb.add(csCMYK);
// convert the image from rgb-colorspace to cmyk-colorspace with icc
PlanarImage out = JAI.create("ColorConvert",pb,hints);
// Damit photoshop die Bilddaten nicht invertiert anzeigt erfolgt
// eine invertierung der Daten
pb = new java.awt.image.renderable.ParameterBlock();
pb.addSource(out);
PlanarImage out2 = JAI.create("invert",pb);
WritableRaster cmykRaster = out2.copyData();
// �ffnen des Output-Streams
OutputStream datei = new FileOutputStream(buffer.toString());
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(datei);
JPEGEncodeParam param =
encoder.getDefaultJPEGEncodeParam(cmykRaster,param.COLOR_ID_CMYK);
param.setQuality(1, false);
encoder.encode(cmykRaster, param);
datei.close();
outp.println("Bild erfolgreich gespeichert");
} catch (Exception e) {
e.printStackTrace();
}
}
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]