Class PDFunctionType0

  • All Implemented Interfaces:
    COSObjectable

    public class PDFunctionType0
    extends PDFunction
    This class represents a type 0 function in a PDF document.
    • Field Detail

      • LOG

        private static final org.apache.commons.logging.Log LOG
        Log instance.
      • encode

        private COSArray encode
        An array of 2 x m numbers specifying the linear mapping of input values into the domain of the function's sample table. Default value: [ 0 (Size0 - 1) 0 (Size1 - 1) ...].
      • decode

        private COSArray decode
        An array of 2 x n numbers specifying the linear mapping of sample values into the range appropriate for the function's output values. Default value: same as the value of Range
      • size

        private COSArray size
        An array of m positive integers specifying the number of samples in each input dimension of the sample table.
      • samples

        private int[][] samples
        The samples of the function.
    • Constructor Detail

      • PDFunctionType0

        public PDFunctionType0​(COSBase function)
        Constructor.
        Parameters:
        function - The function.
    • Method Detail

      • getFunctionType

        public int getFunctionType()
        Returns the function type. Possible values are: 0 - Sampled function 2 - Exponential interpolation function 3 - Stitching function 4 - PostScript calculator function
        Specified by:
        getFunctionType in class PDFunction
        Returns:
        the function type.
      • getSize

        public COSArray getSize()
        The "Size" entry, which is the number of samples in each input dimension of the sample table.
        Returns:
        A List of java.lang.Integer objects.
      • getBitsPerSample

        public int getBitsPerSample()
        Get the number of bits that the output value will take up. Valid values are 1,2,4,8,12,16,24,32.
        Returns:
        Number of bits for each output value.
      • getOrder

        public int getOrder()
        Get the order of interpolation between samples. Valid values are 1 and 3, specifying linear and cubic spline interpolation, respectively. Default is 1. See p.170 in PDF spec 1.7.
        Returns:
        order of interpolation.
      • setBitsPerSample

        public void setBitsPerSample​(int bps)
        Set the number of bits that the output value will take up. Valid values are 1,2,4,8,12,16,24,32.
        Parameters:
        bps - The number of bits for each output value.
      • getEncodeValues

        private COSArray getEncodeValues()
        Returns all encode values as COSArray.
        Returns:
        the encode array.
      • getDecodeValues

        private COSArray getDecodeValues()
        Returns all decode values as COSArray.
        Returns:
        the decode array.
      • getEncodeForParameter

        public PDRange getEncodeForParameter​(int paramNum)
        Get the encode for the input parameter.
        Parameters:
        paramNum - The function parameter number.
        Returns:
        The encode parameter range or null if none is set.
      • setEncodeValues

        public void setEncodeValues​(COSArray encodeValues)
        This will set the encode values.
        Parameters:
        encodeValues - The new encode values.
      • getDecodeForParameter

        public PDRange getDecodeForParameter​(int paramNum)
        Get the decode for the input parameter.
        Parameters:
        paramNum - The function parameter number.
        Returns:
        The decode parameter range or null if none is set.
      • setDecodeValues

        public void setDecodeValues​(COSArray decodeValues)
        This will set the decode values.
        Parameters:
        decodeValues - The new decode values.
      • eval

        public float[] eval​(float[] input)
                     throws java.io.IOException
        Evaluates the function at the given input. ReturnValue = f(input)
        Specified by:
        eval in class PDFunction
        Parameters:
        input - The array of input values for the function. In many cases will be an array of a single value, but not always.
        Returns:
        The of outputs the function returns based on those inputs. In many cases will be an array of a single value, but not always.
        Throws:
        java.io.IOException - if something went wrong processing the function.