Class ColorUtil


  • public final class ColorUtil
    extends java.lang.Object
    Generic Color helper class.

    This class supports parsing string values into color values and creating color values for strings. It provides a list of standard color names.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CMYK_PSEUDO_PROFILE
      The name for the uncalibrated CMYK pseudo-profile
      static java.lang.String SEPARATION_PSEUDO_PROFILE
      The name for the Separation pseudo-profile used for spot colors
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String colorToString​(java.awt.Color color)
      Creates a re-parsable string representation of the given color.
      static boolean isGray​(java.awt.Color col)
      Indicates whether the color is a gray value.
      static boolean isPseudoProfile​(java.lang.String colorProfileName)
      Indicates whether the given color profile name is one of the pseudo-profiles supported by FOP (ex.
      static java.awt.Color lightenColor​(java.awt.Color col, float factor)
      Lightens up a color for groove, ridge, inset and outset border effects.
      static java.awt.Color parseColorString​(FOUserAgent foUserAgent, java.lang.String value)
      Creates a color from a given string.
      static java.awt.Color toCMYKGrayColor​(float black)
      Creates an uncalibrated CMYK color with the given gray value.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CMYK_PSEUDO_PROFILE

        public static final java.lang.String CMYK_PSEUDO_PROFILE
        The name for the uncalibrated CMYK pseudo-profile
        See Also:
        Constant Field Values
      • SEPARATION_PSEUDO_PROFILE

        public static final java.lang.String SEPARATION_PSEUDO_PROFILE
        The name for the Separation pseudo-profile used for spot colors
        See Also:
        Constant Field Values
    • Method Detail

      • parseColorString

        public static java.awt.Color parseColorString​(FOUserAgent foUserAgent,
                                                      java.lang.String value)
                                               throws PropertyException
        Creates a color from a given string.

        This function supports a wide variety of inputs.

        • #RGB (hex 0..f)
        • #RGBA (hex 0..f)
        • #RRGGBB (hex 00..ff)
        • #RRGGBBAA (hex 00..ff)
        • rgb(r,g,b) (0..255 or 0%..100%)
        • java.awt.Color[r=r,g=g,b=b] (0..255)
        • system-color(colorname)
        • transparent
        • colorname
        • fop-rgb-icc(r,g,b,cs,cs-src,[num]+) (r/g/b: 0..1, num: 0..1)
        • cmyk(c,m,y,k) (0..1)
        Parameters:
        foUserAgent - FOUserAgent object
        value - the string to parse.
        Returns:
        a Color representing the string if possible
        Throws:
        PropertyException - if the string is not parsable or does not follow any of the given formats.
      • colorToString

        public static java.lang.String colorToString​(java.awt.Color color)
        Creates a re-parsable string representation of the given color.

        First, the color will be converted into the sRGB colorspace. It will then be printed as #rrggbb, or as #rrrggbbaa if an alpha value is present.

        Parameters:
        color - the color to represent.
        Returns:
        a re-parsable string representadion.
      • lightenColor

        public static java.awt.Color lightenColor​(java.awt.Color col,
                                                  float factor)
        Lightens up a color for groove, ridge, inset and outset border effects.
        Parameters:
        col - the color to lighten up
        factor - factor by which to lighten up (negative values darken the color)
        Returns:
        the modified color
      • isPseudoProfile

        public static boolean isPseudoProfile​(java.lang.String colorProfileName)
        Indicates whether the given color profile name is one of the pseudo-profiles supported by FOP (ex. #CMYK).
        Parameters:
        colorProfileName - the color profile name to check
        Returns:
        true if the color profile name is of a built-in pseudo-profile
      • isGray

        public static boolean isGray​(java.awt.Color col)
        Indicates whether the color is a gray value.
        Parameters:
        col - the color
        Returns:
        true if it is a gray value
      • toCMYKGrayColor

        public static java.awt.Color toCMYKGrayColor​(float black)
        Creates an uncalibrated CMYK color with the given gray value.
        Parameters:
        black - the gray component (0 - 1)
        Returns:
        the CMYK color