Class PDShadingType5
- java.lang.Object
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDShading
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType5
-
- All Implemented Interfaces:
COSObjectable
public class PDShadingType5 extends PDShading
Resources for a shading type 5 (Lattice-Form Gouraud-Shade Triangle Mesh).
-
-
Field Summary
-
Fields inherited from class org.apache.pdfbox.pdmodel.graphics.shading.PDShading
SHADING_TYPE1, SHADING_TYPE2, SHADING_TYPE3, SHADING_TYPE4, SHADING_TYPE5, SHADING_TYPE6, SHADING_TYPE7
-
-
Constructor Summary
Constructors Constructor Description PDShadingType5(COSDictionary shadingDictionary)
Constructor using the given shading dictionary.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getBitsPerComponent()
The bits per component of this shading.int
getBitsPerCoordinate()
The bits per coordinate of this shading.java.awt.geom.Rectangle2D
getBounds(java.awt.geom.AffineTransform xform, Matrix matrix)
Calculate a bounding rectangle around the areas of this shading context.PDRange
getDecodeForParameter(int paramNum)
Get the decode for the input parameter.int
getNumberOfColorComponents()
The number of color components of this shading.int
getShadingType()
This will return the shading type.int
getVerticesPerRow()
The vertices per row of this shading.protected float
interpolate(float src, long srcMax, float dstMin, float dstMax)
Calculate the interpolation, see p.345 pdf spec 1.7.protected org.apache.pdfbox.pdmodel.graphics.shading.Vertex
readVertex(javax.imageio.stream.ImageInputStream input, long maxSrcCoord, long maxSrcColor, PDRange rangeX, PDRange rangeY, PDRange[] colRangeTab, Matrix matrix, java.awt.geom.AffineTransform xform)
Read a vertex from the bit input stream performs interpolations.void
setBitsPerComponent(int bitsPerComponent)
Set the number of bits per component.void
setBitsPerCoordinate(int bitsPerCoordinate)
Set the number of bits per coordinate.void
setDecodeValues(COSArray decodeValues)
This will set the decode values.void
setVerticesPerRow(int verticesPerRow)
Set the number of vertices per row.java.awt.Paint
toPaint(Matrix matrix)
Returns an AWT paint which corresponds to this shading-
Methods inherited from class org.apache.pdfbox.pdmodel.graphics.shading.PDShading
create, evalFunction, evalFunction, getAntiAlias, getBackground, getBBox, getColorSpace, getCOSObject, getFunction, getType, setAntiAlias, setBackground, setBBox, setColorSpace, setFunction, setFunction, setShadingType
-
-
-
-
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 classPDShading
- 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
-
toPaint
public java.awt.Paint toPaint(Matrix matrix)
Description copied from class:PDShading
Returns an AWT paint which corresponds to this shading
-
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 java.io.IOException
The number of color components of this shading.- Returns:
- number of color components of this shading
- Throws:
java.io.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 valuesrcMax
- max src value (2^bits-1)dstMin
- min dst valuedstMax
- max dst value- Returns:
- interpolated value
-
readVertex
protected org.apache.pdfbox.pdmodel.graphics.shading.Vertex readVertex(javax.imageio.stream.ImageInputStream input, long maxSrcCoord, long maxSrcColor, PDRange rangeX, PDRange rangeY, PDRange[] colRangeTab, Matrix matrix, java.awt.geom.AffineTransform xform) throws java.io.IOException
Read a vertex from the bit input stream performs interpolations.- Parameters:
input
- bit input streammaxSrcCoord
- max value for source coordinate (2^bits-1)maxSrcColor
- max value for source color (2^bits-1)rangeX
- dest range for XrangeY
- dest range for YcolRangeTab
- dest range array for colorsmatrix
- the pattern matrix concatenated with that of the parent content stream- Returns:
- a new vertex with the flag and the interpolated values
- Throws:
java.io.IOException
- if something went wrong
-
-