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 Details

    • 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(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 Details

    • getVector

      public 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 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.