Example usage for java.awt.color ColorSpace isCS_sRGB

List of usage examples for java.awt.color ColorSpace isCS_sRGB

Introduction

In this page you can find the example usage for java.awt.color ColorSpace isCS_sRGB.

Prototype

public boolean isCS_sRGB() 

Source Link

Document

Returns true if the ColorSpace is CS_sRGB .

Usage

From source file:org.apache.fop.pdf.PDFColorHandler.java

private boolean establishColorFromColor(StringBuffer codeBuffer, Color color, boolean fill) {
    ColorSpace cs = color.getColorSpace();
    if (cs instanceof DeviceCMYKColorSpace) {
        establishDeviceCMYK(codeBuffer, color, fill);
        return true;
    } else if (!cs.isCS_sRGB()) {
        if (cs instanceof ICC_ColorSpace) {
            PDFICCBasedColorSpace pdfcs = getICCBasedColorSpace((ICC_ColorSpace) cs);
            establishColor(codeBuffer, pdfcs, color, fill);
            return true;
        } else if (cs instanceof NamedColorSpace) {
            PDFSeparationColorSpace sepcs = getSeparationColorSpace((NamedColorSpace) cs);
            establishColor(codeBuffer, sepcs, color, fill);
            return true;
        } else if (cs instanceof CIELabColorSpace) {
            CIELabColorSpace labcs = (CIELabColorSpace) cs;
            PDFCIELabColorSpace pdflab = getCIELabColorSpace(labcs);
            selectColorSpace(codeBuffer, pdflab, fill);
            float[] comps = color.getColorComponents(null);
            float[] nativeComps = labcs.toNativeComponents(comps);
            writeColor(codeBuffer, nativeComps, labcs.getNumComponents(), (fill ? "sc" : "SC"));
            return true;
        }/*w  w  w  .  j ava 2 s. com*/
    }
    return false;
}

From source file:org.apache.fop.util.ColorUtil.java

/**
 * Create string representation of a fop-rgb-icc (or fop-rgb-named-color) function call from
 * the given color./*  w  ww .j av a 2s.  c om*/
 * @param color the color to turn into a function call
 * @return the string representing the internal fop-rgb-icc() or fop-rgb-named-color()
 *           function call
 */
private static String toFunctionCall(ColorWithAlternatives color) {
    ColorSpace cs = color.getColorSpace();
    if (cs.isCS_sRGB() && !color.hasAlternativeColors()) {
        return toRGBFunctionCall(color);
    }
    if (cs instanceof CIELabColorSpace) {
        return toCIELabFunctionCall(color);
    }

    Color specColor = color;
    if (color.hasAlternativeColors()) {
        Color alt = color.getAlternativeColors()[0];
        if (ColorSpaces.isDeviceColorSpace(alt.getColorSpace())) {
            cs = alt.getColorSpace();
            specColor = alt;
        }
    }
    ColorSpaceOrigin origin = ColorSpaces.getColorSpaceOrigin(cs);
    String functionName;

    Color fallbackColor = getsRGBFallback(color);
    float[] rgb = fallbackColor.getColorComponents(null);
    assert rgb.length == 3;
    StringBuffer sb = new StringBuffer(40);
    sb.append("(");
    sb.append(rgb[0]).append(",");
    sb.append(rgb[1]).append(",");
    sb.append(rgb[2]).append(",");
    String profileName = origin.getProfileName();
    sb.append(profileName).append(",");
    if (origin.getProfileURI() != null) {
        sb.append("\"").append(origin.getProfileURI()).append("\"");
    }

    if (cs instanceof NamedColorSpace) {
        NamedColorSpace ncs = (NamedColorSpace) cs;
        if (SEPARATION_PSEUDO_PROFILE.equalsIgnoreCase(profileName)) {
            functionName = "fop-rgb-icc";
        } else {
            functionName = "fop-rgb-named-color";
        }
        sb.append(",").append(ncs.getColorName());
    } else {
        functionName = "fop-rgb-icc";
        float[] colorComponents = specColor.getColorComponents(null);
        for (float colorComponent : colorComponents) {
            sb.append(",");
            sb.append(colorComponent);
        }
    }
    sb.append(")");
    return functionName + sb.toString();
}

From source file:org.apache.pdfbox.pdmodel.graphics.color.PDColorSpaceFactory.java

/**
 * This will create the correct color space from a java colorspace.
 *
 * @param doc The doc to potentiall write information to.
 * @param cs The awt colorspace./*  w ww.  j a  v a 2 s .c om*/
 *
 * @return The color space.
 *
 * @throws IOException If the color space name is unknown.
 */
public static PDColorSpace createColorSpace(PDDocument doc, ColorSpace cs) throws IOException {
    PDColorSpace retval = null;
    if (cs.isCS_sRGB()) {
        retval = PDDeviceRGB.INSTANCE;
    } else if (cs instanceof ICC_ColorSpace) {
        ICC_ColorSpace ics = (ICC_ColorSpace) cs;
        PDICCBased pdCS = new PDICCBased(doc);
        retval = pdCS;
        COSArray ranges = new COSArray();
        for (int i = 0; i < cs.getNumComponents(); i++) {
            ranges.add(new COSFloat(ics.getMinValue(i)));
            ranges.add(new COSFloat(ics.getMaxValue(i)));
        }
        PDStream iccData = pdCS.getPDStream();
        OutputStream output = null;
        try {
            output = iccData.createOutputStream();
            output.write(ics.getProfile().getData());
        } finally {
            if (output != null) {
                output.close();
            }
        }
        pdCS.setNumberOfComponents(cs.getNumComponents());
    } else {
        throw new IOException("Not yet implemented:" + cs);
    }
    return retval;
}

From source file:org.sejda.sambox.pdmodel.graphics.image.JPEGFactory.java

public static PDColorSpace getColorSpaceFromAWT(BufferedImage awtImage) {
    if (awtImage.getColorModel().getNumComponents() == 1) {
        // 256 color (gray) JPEG
        return PDDeviceGray.INSTANCE;
    }// w w  w .  j a va 2  s .  co  m

    ColorSpace awtColorSpace = awtImage.getColorModel().getColorSpace();
    if (awtColorSpace instanceof ICC_ColorSpace && !awtColorSpace.isCS_sRGB()) {
        throw new UnsupportedOperationException("ICC color spaces not implemented");
    }

    switch (awtColorSpace.getType()) {
    case ColorSpace.TYPE_RGB:
        return PDDeviceRGB.INSTANCE;
    case ColorSpace.TYPE_GRAY:
        return PDDeviceGray.INSTANCE;
    case ColorSpace.TYPE_CMYK:
        return PDDeviceCMYK.INSTANCE;
    default:
        throw new UnsupportedOperationException("color space not implemented: " + awtColorSpace.getType());
    }
}