Class PDShadingType5

  • All Implemented Interfaces:
    COSObjectable

    public class PDShadingType5
    extends PDShading
    Resources for a shading type 5 (Lattice-Form Gouraud-Shade Triangle Mesh).
    • Constructor Detail

      • PDShadingType5

        public PDShadingType5​(COSDictionary shadingDictionary)
        Constructor using the given shading dictionary.
        Parameters:
        shadingDictionary - the dictionary for this shading
    • Method Detail

      • getShadingType

        public int getShadingType()
        Description copied from class: PDShading
        This will return the shading type.
        Specified by:
        getShadingType in class PDShading
        Returns:
        the shading typ
      • getVerticesPerRow

        public int getVerticesPerRow()
        The vertices per row of this shading. This will return -1 if one has not been set.
        Returns:
        the number of vertices per row
      • setVerticesPerRow

        public void setVerticesPerRow​(int verticesPerRow)
        Set the number of vertices per row.
        Parameters:
        verticesPerRow - the number of vertices per row
      • getBitsPerComponent

        public int getBitsPerComponent()
        The bits per component of this shading. This will return -1 if one has not been set.
        Returns:
        the number of bits per component
      • setBitsPerComponent

        public void setBitsPerComponent​(int bitsPerComponent)
        Set the number of bits per component.
        Parameters:
        bitsPerComponent - the number of bits per component
      • getBitsPerCoordinate

        public int getBitsPerCoordinate()
        The bits per coordinate of this shading. This will return -1 if one has not been set.
        Returns:
        the number of bits per coordinate
      • setBitsPerCoordinate

        public void setBitsPerCoordinate​(int bitsPerCoordinate)
        Set the number of bits per coordinate.
        Parameters:
        bitsPerCoordinate - the number of bits per coordinate
      • getNumberOfColorComponents

        public int getNumberOfColorComponents()
                                       throws IOException
        The number of color components of this shading.
        Returns:
        number of color components of this shading
        Throws:
        IOException
      • setDecodeValues

        public void setDecodeValues​(COSArray decodeValues)
        This will set the decode values.
        Parameters:
        decodeValues - the new decode 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
      • interpolate

        protected float interpolate​(float src,
                                    long srcMax,
                                    float dstMin,
                                    float dstMax)
        Calculate the interpolation, see p.345 pdf spec 1.7.
        Parameters:
        src - src value
        srcMax - max src value (2^bits-1)
        dstMin - min dst value
        dstMax - max dst value
        Returns:
        interpolated value
      • readVertex

        protected com.tom_roush.pdfbox.pdmodel.graphics.shading.Vertex readVertex​(ImageInputStream input,
                                                                                  long maxSrcCoord,
                                                                                  long maxSrcColor,
                                                                                  PDRange rangeX,
                                                                                  PDRange rangeY,
                                                                                  PDRange[] colRangeTab,
                                                                                  Matrix matrix,
                                                                                  AffineTransform xform)
                                                                           throws IOException
        Read a vertex from the bit input stream performs interpolations.
        Parameters:
        input - bit input stream
        maxSrcCoord - max value for source coordinate (2^bits-1)
        maxSrcColor - max value for source color (2^bits-1)
        rangeX - dest range for X
        rangeY - dest range for Y
        colRangeTab - dest range array for colors
        matrix - the pattern matrix concatenated with that of the parent content stream
        Returns:
        a new vertex with the flag and the interpolated values
        Throws:
        IOException - if something went wrong