Class PDShadingType5
- java.lang.Object
-
- com.tom_roush.pdfbox.pdmodel.graphics.shading.PDShading
-
- com.tom_roush.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 com.tom_roush.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 intgetBitsPerComponent()The bits per component of this shading.intgetBitsPerCoordinate()The bits per coordinate of this shading.RectFgetBounds(AffineTransform xform, Matrix matrix)Calculate a bounding rectangle around the areas of this shading context.PDRangegetDecodeForParameter(int paramNum)Get the decode for the input parameter.intgetNumberOfColorComponents()The number of color components of this shading.intgetShadingType()This will return the shading type.intgetVerticesPerRow()The vertices per row of this shading.protected floatinterpolate(float src, long srcMax, float dstMin, float dstMax)Calculate the interpolation, see p.345 pdf spec 1.7.protected com.tom_roush.pdfbox.pdmodel.graphics.shading.VertexreadVertex(ImageInputStream input, long maxSrcCoord, long maxSrcColor, PDRange rangeX, PDRange rangeY, PDRange[] colRangeTab, Matrix matrix, AffineTransform xform)Read a vertex from the bit input stream performs interpolations.voidsetBitsPerComponent(int bitsPerComponent)Set the number of bits per component.voidsetBitsPerCoordinate(int bitsPerCoordinate)Set the number of bits per coordinate.voidsetDecodeValues(COSArray decodeValues)This will set the decode values.voidsetVerticesPerRow(int verticesPerRow)Set the number of vertices per row.-
Methods inherited from class com.tom_roush.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:PDShadingThis will return the shading type.- Specified by:
getShadingTypein 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
-
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 IOExceptionThe 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 valuesrcMax- max src value (2^bits-1)dstMin- min dst valuedstMax- 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 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:
IOException- if something went wrong
-
getBounds
public RectF getBounds(AffineTransform xform, Matrix matrix) throws IOException
Description copied from class:PDShadingCalculate a bounding rectangle around the areas of this shading context.- Overrides:
getBoundsin classPDShading- Returns:
- Bounding rectangle or null, if not supported by this shading type.
- Throws:
IOException
-
-