Thank you for the code, but with the test images I have, I cannot even get past the "fileload" operation.
It returns an empty PlanerImage Bill Ensley Bear Printing -----Original Message----- From: Thomas K�bler [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 19, 2005 11:57 PM To: Bill Ensley Subject: Re: [iText-questions] CMYK Image hallo, we use jai for converting th einput images in the output colorspace. we have no trouble with the jai-conversion only if we have a lot of images to convert we get sometimes, depends on the memory you have in the machine, an memory error. we put the code below. with regards thomas k�bler public static void startImageConvert( String inputImageFileNameString, String outputImageFileNameString, boolean invert) throws Exception { boolean tiffile = false; // RenderedOp inputImage = JAI.create("fileload",inputImageFileNameString); // if ( inputImageFileNameString.endsWith(".tif") || inputImageFileNameString.endsWith(".tiff") ) tiffile = true; // ColorModel inputColorModel = inputImage.getColorModel(); // if (cat.isDebugEnabled()) cat.debug("input image... Components [ " + inputColorModel.getNumComponents() + " ]"); cat.debug("input image... ColorSpace [ " + getColorSpaceTyp(inputColorModel.getColorSpace(). getType()) + " ]"); // JAI.create("filestore", colorConvert( inputImage, invert, outputColorSpaceTypInt, inputColorModel.getNumComponents(), tiffile), outputImageFileNameString , "TIFF" ); if (cat.isDebugEnabled()) cat.debug("ready..."); cat.debug("file save... [ " + outputImageFileNameString + " ]"); } public static BufferedImage colorConvert( RenderedOp src, boolean invert, int outcolorspaceInt,int components, boolean filetype) { int inputImageColorSpace = ColorSpace.TYPE_RGB; ICC_ColorSpace inputICCColorSpace = null; // if ( src.getColorModel().getNumComponents() == 1 ) { inputImageColorSpace = ColorSpace.TYPE_GRAY; inputICCColorSpace = defaultGrayColorSpace; // } else if ( src.getColorModel().getNumComponents() == 3 ) { inputImageColorSpace = ColorSpace.TYPE_RGB; inputICCColorSpace = defaultRGBColorSpace; // } else if ( src.getColorModel().getNumComponents() == 4 ) { inputImageColorSpace = ColorSpace.TYPE_CMYK; inputICCColorSpace = defaultCMYKColorSpace; // } else { // kein unterst�tzter Farbraum gefunden inputImageColorSpace = ColorSpace.TYPE_RGB; inputICCColorSpace = defaultRGBColorSpace; } ICC_ColorSpace outputICCColorSpace = iccOutputColorSpace; if ( iccOutputColorSpace.getProfile().getColorSpaceType() == outcolorspaceInt ) { outputICCColorSpace = iccOutputColorSpace; cat.debug("iccOutputColorSpace..."); } else if ( outcolorspaceInt == ColorSpace.TYPE_RGB ) { outputICCColorSpace = defaultRGBColorSpace; // outputColorSpaceTypInt = ColorSpace.TYPE_RGB; cat.debug("defaultRGBProfile..."); } else if ( outcolorspaceInt == ColorSpace.TYPE_GRAY ) { outputICCColorSpace = defaultGrayColorSpace; // outputColorSpaceTypInt = ColorSpace.TYPE_GRAY; cat.debug("defaultGrayProfile..."); } else { outputICCColorSpace = iccOutputColorSpace; cat.debug("iccOutputColorSpace default..."); } boolean inverttif = false; // if ( filetype && components == 4 ) { src = convertCMYKtoRGB(src); } // ParamterBlock f�r das Ausgangs-Color-Format aufbauen ParameterBlockJAI pbjai = new ParameterBlockJAI("colorconvert"); // ausgangsfarbraum ColorSpace aufbauen ColorModel inputColorModel = getOutPutColorModel( inputICCColorSpace,inputICCColorSpace.getProfile().getColorSpaceTyp e()); ColorModel cm = getOutPutColorModel(outputICCColorSpace,outcolorspaceInt); // image zuweisen pbjai.addSource(src); // colormodel zuweisen pbjai.setParameter("colormodel",cm); // Image Layout aufbauen ImageLayout imagelayout = new ImageLayout(); imagelayout.setSampleModel(cm.createCompatibleSampleModel(src.getWidth( ), src.getHeight())); // Rendering Hints cat.debug("RenderingHints..."); RenderingHints hints = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, imagelayout); // ausf�hren der transformation cat.debug("RenderedOp..."); RenderedOp output = JAI.create("colorconvert", pbjai, hints); // Raster aufbauen WritableRaster newImageRaster = output.getAsBufferedImage(null,null).getRaster(); // // neues image zur�ck // if ( inverttif ) { cat.debug("Invertieren..."); byte swap[] = new byte[256]; for( int i = 0; i < swap.length ; i++){ swap[i] = (byte)( 255 - i ); } // LookupTable lookup = getOutPutLookUpTable(swap); LookupOp luop = new LookupOp(lookup, null); newImageRaster = luop.filter(newImageRaster, newImageRaster.createCompatibleWritableRaster()); } // return new BufferedImage(cm,newImageRaster,false,null); // } Am Tue, 19 Apr 2005 09:57:50 -0700 schrieb Bill Ensley <[EMAIL PROTECTED]>: > I thought so, I had been using it for a while and thought it was > working properly, but when I went back to update some code I > did some testing and found that many different types of CMYK images > were throwing invalid colorspace errors and failing to load. > > Unfortunately, I don't have the image knowledge i'd like to have. > > I have attached a guilty image to this post, if anyone is feeling > adventuresome, > let me know what you find. > > Thanks all, > > Bill Ensley > Bear Printing > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Paulo > Soares > Sent: Tuesday, April 19, 2005 1:59 AM > To: Bill Ensley; iText Mail Group > Subject: RE: [iText-questions] CMYK Image > > > Won't JAI work? > >> -----Original Message----- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On >> Behalf Of Bill Ensley >> Sent: Monday, April 18, 2005 11:56 PM >> To: iText Mail Group >> Subject: [iText-questions] CMYK Image >> >> I realize this isn't the proper mail group for this question, >> but does anyone out there have a good way of getting a >> CMYK image, either tif or jpg, into Java? >> >> I heavily use PdfGraphics2D and would like to be able to pass >> a CMYK image in some cases. >> >> Bill Ensley >> Bear Printing >> > > > ------------------------------------------------------- > This SF.Net email is sponsored by: New Crystal Reports XI. > Version 11 adds new functionality designed to reduce time involved in > creating, integrating, and deploying reporting solutions. Free runtime > info, > new features, or free trial, at: http://www.businessobjects.com/devxi/728 > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: New Crystal Reports XI. > Version 11 adds new functionality designed to reduce time involved in > creating, integrating, and deploying reporting solutions. Free runtime > info, > new features, or free trial, at: http://www.businessobjects.com/devxi/728 > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions -- Dynamic Document Solution variex Alt-Marienfelde 25 12277 Berlin t. + 49 (0)30.723.23.183 f. + 49 (0)30.723.23.185 mobil +49 (0)163 633 36 96 www.variex.de Ansprechpartner [EMAIL PROTECTED] ------------------------------------------------------- This SF.Net email is sponsored by: New Crystal Reports XI. Version 11 adds new functionality designed to reduce time involved in creating, integrating, and deploying reporting solutions. Free runtime info, new features, or free trial, at: http://www.businessobjects.com/devxi/728 _______________________________________________ iText-questions mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/itext-questions
