java.lang.Object
org.apache.pdfbox.pdmodel.graphics.shading.PDShading
All Implemented Interfaces:
COSObjectable
Direct Known Subclasses:
PDShadingType1, PDShadingType2, PDShadingType4, PDShadingType5

public abstract class PDShading extends Object implements COSObjectable
A Shading Resource.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    shading type 1 = function based shading.
    static final int
    shading type 2 = axial shading.
    static final int
    shading type 3 = radial shading.
    static final int
    shading type 4 = Free-Form Gouraud-Shaded Triangle Meshes.
    static final int
    shading type 5 = Lattice-Form Gouraud-Shaded Triangle Meshes.
    static final int
    shading type 6 = Coons Patch Meshes.
    static final int
    shading type 7 = Tensor-Product Patch Meshes.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
    PDShading(COSDictionary shadingDictionary)
    Constructor using the given shading dictionary.
  • Method Summary

    Modifier and Type
    Method
    Description
    static PDShading
    create(COSDictionary shadingDictionary)
    Create the correct PD Model shading based on the COS base shading.
    float[]
    evalFunction(float inputValue)
    Convert the input value using the functions of the shading dictionary.
    float[]
    evalFunction(float[] input)
    Convert the input values using the functions of the shading dictionary.
    boolean
    This will return the AntiAlias value.
    This will return the background.
    An array of four numbers in the form coordinate system (see below), giving the coordinates of the left, bottom, right, and top edges, respectively, of the shading's bounding box.
    This will get the color space or null if none exists.
    This will get the underlying dictionary.
    This will return the function used to convert the color values.
    abstract int
    This will return the shading type.
    This will return the type.
    void
    setAntiAlias(boolean antiAlias)
    This will set the AntiAlias value.
    void
    setBackground(COSArray newBackground)
    This will set the background.
    void
    This will set the BBox (bounding box) for this Shading.
    void
    This will set the color space for the shading.
    void
    setFunction(COSArray newFunctions)
    This will set the functions COSArray for the color conversion.
    void
    setFunction(PDFunction newFunction)
    This will set the function for the color conversion.
    void
    setShadingType(int shadingType)
    This will set the shading type.
    abstract Paint
    toPaint(Matrix matrix)
    Returns an AWT paint which corresponds to this shading

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • SHADING_TYPE1

      public static final int SHADING_TYPE1
      shading type 1 = function based shading.
      See Also:
    • SHADING_TYPE2

      public static final int SHADING_TYPE2
      shading type 2 = axial shading.
      See Also:
    • SHADING_TYPE3

      public static final int SHADING_TYPE3
      shading type 3 = radial shading.
      See Also:
    • SHADING_TYPE4

      public static final int SHADING_TYPE4
      shading type 4 = Free-Form Gouraud-Shaded Triangle Meshes.
      See Also:
    • SHADING_TYPE5

      public static final int SHADING_TYPE5
      shading type 5 = Lattice-Form Gouraud-Shaded Triangle Meshes.
      See Also:
    • SHADING_TYPE6

      public static final int SHADING_TYPE6
      shading type 6 = Coons Patch Meshes.
      See Also:
    • SHADING_TYPE7

      public static final int SHADING_TYPE7
      shading type 7 = Tensor-Product Patch Meshes.
      See Also:
  • Constructor Details

    • PDShading

      public PDShading()
      Default constructor.
    • PDShading

      public PDShading(COSDictionary shadingDictionary)
      Constructor using the given shading dictionary.
      Parameters:
      shadingDictionary - the dictionary for this shading
  • Method Details

    • getCOSObject

      public COSDictionary getCOSObject()
      This will get the underlying dictionary.
      Specified by:
      getCOSObject in interface COSObjectable
      Returns:
      the dictionary for this shading.
    • getType

      public String getType()
      This will return the type.
      Returns:
      the type of object that this is
    • setShadingType

      public void setShadingType(int shadingType)
      This will set the shading type.
      Parameters:
      shadingType - the new shading type
    • getShadingType

      public abstract int getShadingType()
      This will return the shading type.
      Returns:
      the shading typ
    • setBackground

      public void setBackground(COSArray newBackground)
      This will set the background.
      Parameters:
      newBackground - the new background
    • getBackground

      public COSArray getBackground()
      This will return the background.
      Returns:
      the background
    • getBBox

      public PDRectangle getBBox()
      An array of four numbers in the form coordinate system (see below), giving the coordinates of the left, bottom, right, and top edges, respectively, of the shading's bounding box.
      Returns:
      the BBox of the form
    • setBBox

      public void setBBox(PDRectangle newBBox)
      This will set the BBox (bounding box) for this Shading.
      Parameters:
      newBBox - the new BBox
    • setAntiAlias

      public void setAntiAlias(boolean antiAlias)
      This will set the AntiAlias value.
      Parameters:
      antiAlias - the new AntiAlias value
    • getAntiAlias

      public boolean getAntiAlias()
      This will return the AntiAlias value.
      Returns:
      the AntiAlias value
    • getColorSpace

      public PDColorSpace getColorSpace() throws IOException
      This will get the color space or null if none exists.
      Returns:
      the color space for the shading
      Throws:
      IOException - if there is an error getting the color space
    • setColorSpace

      public void setColorSpace(PDColorSpace colorSpace)
      This will set the color space for the shading.
      Parameters:
      colorSpace - the color space
    • create

      public static PDShading create(COSDictionary shadingDictionary) throws IOException
      Create the correct PD Model shading based on the COS base shading.
      Parameters:
      shadingDictionary - the COS shading dictionary
      Returns:
      the newly created shading resources object
      Throws:
      IOException - if we are unable to create the PDShading object
    • setFunction

      public void setFunction(PDFunction newFunction)
      This will set the function for the color conversion.
      Parameters:
      newFunction - the new function
    • setFunction

      public void setFunction(COSArray newFunctions)
      This will set the functions COSArray for the color conversion.
      Parameters:
      newFunctions - the new COSArray containing all functions
    • getFunction

      public PDFunction getFunction() throws IOException
      This will return the function used to convert the color values.
      Returns:
      the function
      Throws:
      IOException - if we were not able to create the function.
    • evalFunction

      public float[] evalFunction(float inputValue) throws IOException
      Convert the input value using the functions of the shading dictionary.
      Parameters:
      inputValue - the input value
      Returns:
      the output values
      Throws:
      IOException - thrown if something went wrong
    • evalFunction

      public float[] evalFunction(float[] input) throws IOException
      Convert the input values using the functions of the shading dictionary.
      Parameters:
      input - the input values
      Returns:
      the output values
      Throws:
      IOException - thrown if something went wrong
    • toPaint

      public abstract Paint toPaint(Matrix matrix)
      Returns an AWT paint which corresponds to this shading
      Parameters:
      matrix - the pattern matrix concatenated with that of the parent content stream, this matrix which maps the pattern's internal coordinate system to user space
      Returns:
      an AWT Paint instance