/** * Indicates whether the color is a gray value. * @param col the color * @return true if it is a gray value */ public static boolean isGray(Color col) { return org.apache.xmlgraphics.java2d.color.ColorUtil.isGray(col); }
private void establishFallbackRGB(StringBuffer codeBuffer, Color color) { float[] comps; if (color.getColorSpace().isCS_sRGB()) { comps = color.getColorComponents(null); } else { if (log.isDebugEnabled()) { log.debug("Converting color to sRGB as a fallback: " + color); } ColorSpace sRGB = ColorSpace.getInstance(ColorSpace.CS_sRGB); comps = color.getColorComponents(sRGB, null); } assert comps.length == 3; boolean gray = ColorUtil.isGray(color); if (gray) { comps = new float[] {comps[0]}; } writeSetColor(codeBuffer, comps, gray ? "setgray" : "setrgbcolor"); }
private void establishDeviceRGB(StringBuffer codeBuffer, Color color, boolean fill) { float[] comps; if (color.getColorSpace().isCS_sRGB()) { comps = color.getColorComponents(null); } else { if (log.isDebugEnabled()) { log.debug("Converting color to sRGB as a fallback: " + color); } ColorSpace sRGB = ColorSpace.getInstance(ColorSpace.CS_sRGB); comps = color.getColorComponents(sRGB, null); } if (ColorUtil.isGray(color)) { comps = new float[] {comps[0]}; //assuming that all components are the same writeColor(codeBuffer, comps, 1, (fill ? "g" : "G")); } else { writeColor(codeBuffer, comps, 3, (fill ? "rg" : "RG")); } }