List of usage examples for java.awt.color ColorSpace isCS_sRGB
public boolean isCS_sRGB()
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()); } }