Class PDShadingType7
- java.lang.Object
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDShading
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType4
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType7
-
- All Implemented Interfaces:
COSObjectable
public class PDShadingType7 extends PDShadingType4
Resources for a shading type 7 (Tensor-Product Patch 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 PDShadingType7(COSDictionary shadingDictionary)
Constructor using the given shading dictionary.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.pdfbox.pdmodel.graphics.shading.Patch
generatePatch(java.awt.geom.Point2D[] points, float[][] color)
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.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.Patch
readPatch(javax.imageio.stream.ImageInputStream input, boolean isFree, java.awt.geom.Point2D[] implicitEdge, float[][] implicitCornerColor, long maxSrcCoord, long maxSrcColor, PDRange rangeX, PDRange rangeY, PDRange[] colRange, Matrix matrix, java.awt.geom.AffineTransform xform, int controlPoints)
Read a single patch from a data stream, a patch contains information of its coordinates and color parameters.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.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.PDShadingType4
getBitsPerFlag, setBitsPerFlag
-
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
-
PDShadingType7
public PDShadingType7(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.- Overrides:
getShadingType
in classPDShadingType4
- Returns:
- the shading typ
-
toPaint
public java.awt.Paint toPaint(Matrix matrix)
Description copied from class:PDShading
Returns an AWT paint which corresponds to this shading- Overrides:
toPaint
in classPDShadingType4
- 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
-
generatePatch
protected org.apache.pdfbox.pdmodel.graphics.shading.Patch generatePatch(java.awt.geom.Point2D[] points, float[][] color)
-
getBounds
public java.awt.geom.Rectangle2D getBounds(java.awt.geom.AffineTransform xform, Matrix matrix) throws java.io.IOException
Description copied from class:PDShading
Calculate a bounding rectangle around the areas of this shading context.- Returns:
- Bounding rectangle or null, if not supported by this shading type.
- Throws:
java.io.IOException
-
readPatch
protected org.apache.pdfbox.pdmodel.graphics.shading.Patch readPatch(javax.imageio.stream.ImageInputStream input, boolean isFree, java.awt.geom.Point2D[] implicitEdge, float[][] implicitCornerColor, long maxSrcCoord, long maxSrcColor, PDRange rangeX, PDRange rangeY, PDRange[] colRange, Matrix matrix, java.awt.geom.AffineTransform xform, int controlPoints) throws java.io.IOException
Read a single patch from a data stream, a patch contains information of its coordinates and color parameters.- Parameters:
input
- the image source data streamisFree
- whether this is a free patchimplicitEdge
- implicit edge when a patch is not free, otherwise it's not usedimplicitCornerColor
- implicit colors when a patch is not free, otherwise it's not usedmaxSrcCoord
- the maximum coordinate value calculated from source datamaxSrcColor
- the maximum color value calculated from source datarangeX
- range for coordinate xrangeY
- range for coordinate ycolRange
- range for colormatrix
- the pattern matrix concatenated with that of the parent content streamxform
- transformation for user to device spacecontrolPoints
- number of control points, 12 for type 6 shading and 16 for type 7 shading- Returns:
- a single patch
- Throws:
java.io.IOException
- when something went wrong
-
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
-
-