List of usage examples for java.awt.color ICC_Profile getData
public byte[] getData()
From source file:org.apache.xmlgraphics.image.loader.ImageLoaderTestCase.java
public void testICCProfiles() throws Exception { MyImageSessionContext sessionContext = createImageSessionContext(); List/* <ICC_Profile> */ profiles = new ArrayList(); runReaders(profiles, sessionContext, "iccTest.png", "image/png", ImageFlavor.RAW_PNG); runReaders(profiles, sessionContext, "iccTest.jpg", "image/jpeg", ImageFlavor.RAW_JPEG); ICC_Profile first = (ICC_Profile) profiles.get(0); byte[] firstData = first.getData(); for (int i = 1; i < profiles.size(); i++) { ICC_Profile icc = (ICC_Profile) profiles.get(i); byte[] data = icc.getData(); assertEquals("Embedded ICC Profiles are not the same size!", firstData.length, data.length); for (int j = 0; j < firstData.length; j++) { assertEquals("Embedded ICC Profiles differ at index " + j, firstData[j], data[j]); }/*w ww . j a va 2s . c om*/ } }
From source file:org.gmdev.pdftrick.utils.CustomExtraImgReader.java
/** * Convert image from Cmyk to Rgb profile * @param cmykRaster//from w ww . j a v a2s . com * @param cmykProfile * @return The BufferedImage obj * @throws IOException */ private static BufferedImage convertCmykToRgb(Raster cmykRaster, ICC_Profile cmykProfile) throws IOException { if (cmykProfile == null) { cmykProfile = ICC_Profile.getInstance( CustomExtraImgReader.class.getResourceAsStream(Consts.RESOURCEPATH + Consts.GENERICICCFILE)); } if (cmykProfile.getProfileClass() != ICC_Profile.CLASS_DISPLAY) { byte[] profileData = cmykProfile.getData(); if (profileData[ICC_Profile.icHdrRenderingIntent] == ICC_Profile.icPerceptual) { intToBigEndian(ICC_Profile.icSigDisplayClass, profileData, ICC_Profile.icHdrDeviceClass); cmykProfile = ICC_Profile.getInstance(profileData); } } ICC_ColorSpace cmykCS = new ICC_ColorSpace(cmykProfile); BufferedImage rgbImage = new BufferedImage(cmykRaster.getWidth(), cmykRaster.getHeight(), BufferedImage.TYPE_INT_RGB); WritableRaster rgbRaster = rgbImage.getRaster(); ColorSpace rgbCS = rgbImage.getColorModel().getColorSpace(); ColorConvertOp cmykToRgb = new ColorConvertOp(cmykCS, rgbCS, null); cmykToRgb.filter(cmykRaster, rgbRaster); return rgbImage; }