Class PDFColor

  • All Implemented Interfaces:
    PDFWritable

    public class PDFColor
    extends PDFPathPaint
    PDF Color object. It is currently only used to hold the transparent color of a masked bitmap image. And in this context, only RGB and Gray values are used.

    Use of this class is discouraged. PDFColorHandler is now used for in-content color selection. For masked bitmaps, it may be wiser to switch to Color in the long run.

    • Constructor Detail

      • PDFColor

        public PDFColor​(double theRed,
                        double theGreen,
                        double theBlue)
        Create a PDF color with double values ranging from 0 to 1.
        Parameters:
        theRed - the red double value
        theGreen - the green double value
        theBlue - the blue double value
      • PDFColor

        public PDFColor​(java.awt.Color col)
        Create a PDF color from a java.awt.Color object. Different Color objects are handled differently. Cases recognized are. 1. CMYK color 3. 'Normal' java.awt.Color (RGB case assumed or implicit conversion to sRGB)
        Parameters:
        col - the java.awt.Color object for which to create a PDFColor object
      • PDFColor

        public PDFColor​(int theRed,
                        int theGreen,
                        int theBlue)
        Create a PDF color with int values ranging from 0 to 255
        Parameters:
        theRed - the red integer value
        theGreen - the green integer value
        theBlue - the blue integer value
      • PDFColor

        public PDFColor​(double theCyan,
                        double theMagenta,
                        double theYellow,
                        double theBlack)
        Create a PDF color with CMYK values.
        Parameters:
        theCyan - the cyan value
        theMagenta - the magenta value
        theYellow - the yellow value
        theBlack - the black value
    • Method Detail

      • getVector

        public java.util.List getVector()
        Return a vector representation of the color in the appropriate colorspace.
        Returns:
        a list containing the Double values of the color
      • red

        public double red()
        Get the red component.
        Returns:
        the red double value
      • green

        public double green()
        Get the green component.
        Returns:
        the green double value
      • blue

        public double blue()
        Get the blue component.
        Returns:
        the blue double value
      • red255

        public int red255()
        Get the red integer component.
        Returns:
        the red integer value
      • green255

        public int green255()
        Get the green integer component.
        Returns:
        the green integer value
      • blue255

        public int blue255()
        Get the blue integer component.
        Returns:
        the blue integer value
      • cyan

        public double cyan()
        Get the cyan component.
        Returns:
        the cyan double value
      • magenta

        public double magenta()
        Get the magenta component.
        Returns:
        the magenta double value
      • yellow

        public double yellow()
        Get the yellow component.
        Returns:
        the yellow double value
      • black

        public double black()
        Get the black component.
        Returns:
        the black double value
      • setColorSpace

        public void setColorSpace​(int theColorSpace)
        Set the color space for this color. If the new color space is different the values are converted to the new color space.
        Overrides:
        setColorSpace in class PDFPathPaint
        Parameters:
        theColorSpace - the new color space
      • getColorSpaceOut

        public java.lang.String getColorSpaceOut​(boolean fillNotStroke)
        Get the PDF output string for this color. This returns the string to be inserted into PDF for setting the current color.
        Overrides:
        getColorSpaceOut in class PDFPathPaint
        Parameters:
        fillNotStroke - whether to return fill or stroke command
        Returns:
        the PDF string for setting the fill/stroke color
      • convertCMYKtoRGB

        protected void convertCMYKtoRGB()
        Convert the color from CMYK to RGB.
      • convertRGBtoCMYK

        protected void convertRGBtoCMYK()
        Convert the color from RGB to CMYK.
      • convertGRAYtoRGB

        protected void convertGRAYtoRGB()
        Convert the color from Gray to RGB.
      • convertGRAYtoCMYK

        protected void convertGRAYtoCMYK()
        Convert the color from Gray to CMYK.
      • convertCMYKtoGRAY

        protected void convertCMYKtoGRAY()
        Convert the color from CMYK to Gray.
      • convertRGBtoGRAY

        protected void convertRGBtoGRAY()
        Convert the color from RGB to Gray.
      • toPDF

        public byte[] toPDF()
        Create pdf. Not used for this object.
        Overrides:
        toPDF in class PDFObject
        Returns:
        the bytes for the pdf
      • contentEquals

        protected boolean contentEquals​(PDFObject obj)
        Check if the other PDFObject has the same content as the current object.

        Note: This function has a contract which is less binding than Object.equals(Object). Whereas equals would require all values to be identical, this method is not required to check everything. In the case of PDFObjects, this means that the overriding function does not have to check for PDFObject.getObjectID().

        Overrides:
        contentEquals in class PDFObject
        Parameters:
        obj - object to compare to.
        Returns:
        true if the other object has the same content.