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
      • toRawImage

        public java.awt.image.BufferedImage toRawImage​(java.awt.image.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 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