Class PDIndexed

All Implemented Interfaces:
COSObjectable

public final class PDIndexed extends PDSpecialColorSpace
An Indexed colour space specifies that an area is to be painted using a colour table of arbitrary colours from another color space.
  • Field Details

    • initialColor

      private final PDColor initialColor
    • baseColorSpace

      private PDColorSpace baseColorSpace
    • lookupData

      private byte[] lookupData
    • colorTable

      private float[][] colorTable
    • actualMaxIndex

      private int actualMaxIndex
    • rgbColorTable

      private int[][] rgbColorTable
  • Constructor Details

    • PDIndexed

      public PDIndexed()
      Creates a new Indexed color space. Default DeviceRGB, hival 255.
    • PDIndexed

      public PDIndexed(COSArray indexedArray) throws IOException
      Creates a new indexed color space from the given PDF array.
      Parameters:
      indexedArray - the array containing the indexed parameters
      Throws:
      IOException
    • PDIndexed

      public PDIndexed(COSArray indexedArray, PDResources resources) throws IOException
      Creates a new indexed color space from the given PDF array.
      Parameters:
      indexedArray - the array containing the indexed parameters
      resources - the resources, can be null. Allows to use its cache for the colorspace.
      Throws:
      IOException
  • Method Details

    • getName

      public String getName()
      Description copied from class: PDColorSpace
      Returns the name of the color space.
      Specified by:
      getName in class PDColorSpace
      Returns:
      the name of the color space
    • getNumberOfComponents

      public int getNumberOfComponents()
      Description copied from class: PDColorSpace
      Returns the number of components in this color space
      Specified by:
      getNumberOfComponents in class PDColorSpace
      Returns:
      the number of components in this color space
    • getDefaultDecode

      public float[] getDefaultDecode(int bitsPerComponent)
      Description copied from class: PDColorSpace
      Returns the default decode array for this color space.
      Specified by:
      getDefaultDecode in class PDColorSpace
      Parameters:
      bitsPerComponent - the number of bits per component.
      Returns:
      the default decode array
    • getInitialColor

      public PDColor getInitialColor()
      Description copied from class: PDColorSpace
      Returns the initial color value for this color space.
      Specified by:
      getInitialColor in class PDColorSpace
      Returns:
      the initial color value for this color space
    • initRgbColorTable

      private void initRgbColorTable() throws IOException
      Throws:
      IOException
    • toRGB

      public float[] toRGB(float[] value)
      Description copied from class: PDColorSpace
      Returns the RGB equivalent of the given color value.
      Specified by:
      toRGB in class PDColorSpace
      Parameters:
      value - a color value with component values between 0 and 1
      Returns:
      an array of R,G,B value between 0 and 255
    • toRGBImage

      public BufferedImage toRGBImage(WritableRaster raster) throws IOException
      Description copied from class: PDColorSpace
      Returns the (A)RGB equivalent of the given raster.
      Specified by:
      toRGBImage in class PDColorSpace
      Parameters:
      raster - the source raster
      Returns:
      an (A)RGB buffered image
      Throws:
      IOException - if the color conversion fails
    • toRawImage

      public BufferedImage toRawImage(WritableRaster raster)
      Description copied from class: PDColorSpace
      Returns the image in this colorspace or null. No conversion is performed. For special colorspaces like PDSeparation the image is returned in the gray colorspace. For undefined colorspaces like DeviceCMYK/DeviceRGB and DeviceGray null is returned. You can always fallback to PDColorSpace.toRGBImage(WritableRaster) if this returns null.
      Specified by:
      toRawImage in class PDColorSpace
      Parameters:
      raster - the source raster
      Returns:
      an buffered image in this colorspace. Or null if it is not possible to extract that image with the original colorspace without conversion.
    • getBaseColorSpace

      public PDColorSpace getBaseColorSpace()
      Returns the base color space.
      Returns:
      the base color space.
    • getHival

      private int getHival()
    • readLookupData

      private void readLookupData() throws IOException
      Throws:
      IOException
    • readColorTable

      private void readColorTable() throws IOException
      Throws:
      IOException
    • setBaseColorSpace

      public void setBaseColorSpace(PDColorSpace base)
      Sets the base color space.
      Parameters:
      base - the base color space
    • setHighValue

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

      public String toString()
      Overrides:
      toString in class Object