Class PDIndexed

java.lang.Object
org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace
org.apache.pdfbox.pdmodel.graphics.color.PDIndexed
All Implemented Interfaces:
COSObjectable

public class PDIndexed extends PDColorSpace
This class represents an Indexed color space.
Author:
Ben Litchfield
  • Field Details

  • Constructor Details

    • PDIndexed

      public PDIndexed()
      Constructor, default DeviceRGB, hival 255.
    • PDIndexed

      public PDIndexed(COSArray indexedArray)
      Constructor.
      Parameters:
      indexedArray - The array containing the indexed parameters
  • Method Details

    • getCOSObject

      public COSBase getCOSObject()
      Description copied from class: PDColorSpace
      Convert this standard java object to a COS object.
      Specified by:
      getCOSObject in interface COSObjectable
      Overrides:
      getCOSObject in class PDColorSpace
      Returns:
      The cos object that matches this Java object.
    • getNumberOfComponents

      public int getNumberOfComponents() throws IOException
      This will return the number of color components. This will return the number of color components in the base color.
      Specified by:
      getNumberOfComponents in class PDColorSpace
      Returns:
      The number of components in this color space.
      Throws:
      IOException - If there is an error getting the number of color components.
    • getName

      public String getName()
      This will return the name of the color space.
      Specified by:
      getName in class PDColorSpace
      Returns:
      The name of the color space.
    • createColorSpace

      protected ColorSpace createColorSpace() throws IOException
      Create a Java colorspace for this colorspace.
      Specified by:
      createColorSpace in class PDColorSpace
      Returns:
      A color space that can be used for Java AWT operations.
      Throws:
      IOException - If there is an error creating the color space.
    • createColorModel

      public ColorModel createColorModel(int bpc) throws IOException
      Create a Java color model for this colorspace.
      Specified by:
      createColorModel in class PDColorSpace
      Parameters:
      bpc - The number of bits per component.
      Returns:
      A color model that can be used for Java AWT operations.
      Throws:
      IOException - If there is an error creating the color model.
    • createColorModel

      public ColorModel createColorModel(int bpc, int mask) throws IOException
      Create a Java color model for this colorspace including the given mask value.
      Parameters:
      bpc - The number of bits per component of the indexed color model.
      mask - the mask value, -1 indicates no mask
      Returns:
      A color model that can be used for Java AWT operations.
      Throws:
      IOException - If there is an error creating the color model.
    • getBaseColorSpace

      public PDColorSpace getBaseColorSpace() throws IOException
      This will get the color space that acts as the index for this color space.
      Returns:
      The base color space.
      Throws:
      IOException - If there is error creating the base color space.
    • setBaseColorSpace

      public void setBaseColorSpace(PDColorSpace base)
      This will set the base color space.
      Parameters:
      base - The base color space to use as the index.
    • getHighValue

      public int getHighValue()
      Get the highest value for the lookup.
      Returns:
      The hival entry.
    • setHighValue

      public void setHighValue(int high)
      This will set the highest value that is allowed. This cannot be higher than 255.
      Parameters:
      high - The highest value for the lookup table.
    • lookupColor

      public int lookupColor(int lookupIndex, int componentNumber) throws IOException
      This will perform a lookup into the color lookup table.
      Parameters:
      lookupIndex - The zero-based index into the table, should not exceed the high value.
      componentNumber - The component number, probably 1,2,3,3.
      Returns:
      The value that was from the lookup table.
      Throws:
      IOException - If there is an error looking up the color.
    • getLookupData

      public byte[] getLookupData() throws IOException
      Get the lookup data table.
      Returns:
      a byte array containing the lookup data.
      Throws:
      IOException - if an error occurs.
    • setLookupColor

      public void setLookupColor(int lookupIndex, int componentNumber, int color) throws IOException
      This will set a color in the color lookup table.
      Parameters:
      lookupIndex - The zero-based index into the table, should not exceed the high value.
      componentNumber - The component number, probably 1,2,3,3.
      color - The color that will go into the table.
      Throws:
      IOException - If there is an error looking up the color.
    • calculateColorValues

      public float[] calculateColorValues(int index) throws IOException
      Returns the components of the color for the given index.
      Parameters:
      index - the index of the color value
      Returns:
      COSArray with the color components
      Throws:
      IOException - If the tint function is not supported