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 Detail

      • initialColor

        private final PDColor initialColor
      • lookupData

        private byte[] lookupData
      • colorTable

        private float[][] colorTable
      • actualMaxIndex

        private int actualMaxIndex
      • rgbColorTable

        private int[][] rgbColorTable
    • Constructor Detail

      • PDIndexed

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

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

        public PDIndexed​(COSArray indexedArray,
                         PDResources resources)
                  throws java.io.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:
        java.io.IOException
    • Method Detail

      • getName

        public java.lang.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 java.io.IOException
        Throws:
        java.io.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 java.awt.image.BufferedImage toRGBImage​(java.awt.image.WritableRaster raster)
                                                throws java.io.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:
        java.io.IOException - if the color conversion fails
      • getBaseColorSpace

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

        private int getHival()
      • getLookupData

        private byte[] getLookupData()
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • readColorTable

        private void readColorTable()
                             throws java.io.IOException
        Throws:
        java.io.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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object