Example usage for java.awt.color ICC_Profile getData

List of usage examples for java.awt.color ICC_Profile getData

Introduction

In this page you can find the example usage for java.awt.color ICC_Profile getData.

Prototype

public byte[] getData() 

Source Link

Document

Returns a byte array corresponding to the data of this ICC_Profile .

Usage

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;
}