Class PDMeshBasedShadingType
- java.lang.Object
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDShading
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDTriangleBasedShadingType
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType4
-
- org.apache.pdfbox.pdmodel.graphics.shading.PDMeshBasedShadingType
-
- All Implemented Interfaces:
COSObjectable
- Direct Known Subclasses:
PDShadingType6,PDShadingType7
abstract class PDMeshBasedShadingType extends PDShadingType4
Common resources for shading types 6 and 7
-
-
Field Summary
Fields Modifier and Type Field Description private static org.apache.commons.logging.LogLOG-
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 PDMeshBasedShadingType(COSDictionary shadingDictionary)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) java.util.List<Patch>collectPatches(java.awt.geom.AffineTransform xform, Matrix matrix, int controlPoints)Create a patch list from a data stream, the returned list contains all the patches contained in the data stream.(package private) abstract PatchgeneratePatch(java.awt.geom.Point2D[] points, float[][] color)Create a patch using control points and 4 corner color values, in Type6ShadingContext, a CoonsPatch is returned; in Type6ShadingContext, a TensorPatch is returned.abstract java.awt.geom.Rectangle2DgetBounds(java.awt.geom.AffineTransform xform, Matrix matrix)Calculate a bounding rectangle around the areas of this shading context.(package private) java.awt.geom.Rectangle2DgetBounds(java.awt.geom.AffineTransform xform, Matrix matrix, int controlPoints)protected PatchreadPatch(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.-
Methods inherited from class org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType4
collectTriangles, getBitsPerFlag, getShadingType, setBitsPerFlag, toPaint
-
Methods inherited from class org.apache.pdfbox.pdmodel.graphics.shading.PDTriangleBasedShadingType
getBitsPerComponent, getBitsPerCoordinate, getDecodeForParameter, getNumberOfColorComponents, interpolate, readVertex, setBitsPerComponent, setBitsPerCoordinate, setDecodeValues
-
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
-
PDMeshBasedShadingType
PDMeshBasedShadingType(COSDictionary shadingDictionary)
-
-
Method Detail
-
collectPatches
final java.util.List<Patch> collectPatches(java.awt.geom.AffineTransform xform, Matrix matrix, int controlPoints) throws java.io.IOException
Create a patch list from a data stream, the returned list contains all the patches contained in the data stream.- Parameters:
xform- transformation for user to device spacematrix- the pattern matrix concatenated with that of the parent content streamcontrolPoints- number of control points, 12 for type 6 shading and 16 for type 7 shading- Returns:
- the obtained patch list
- Throws:
java.io.IOException- when something went wrong
-
readPatch
protected 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
-
generatePatch
abstract Patch generatePatch(java.awt.geom.Point2D[] points, float[][] color)
Create a patch using control points and 4 corner color values, in Type6ShadingContext, a CoonsPatch is returned; in Type6ShadingContext, a TensorPatch is returned.- Parameters:
points- 12 or 16 control pointscolor- 4 corner colors- Returns:
- a patch instance
-
getBounds
public abstract java.awt.geom.Rectangle2D getBounds(java.awt.geom.AffineTransform xform, Matrix matrix) throws java.io.IOExceptionDescription copied from class:PDShadingCalculate a bounding rectangle around the areas of this shading context.- Overrides:
getBoundsin classPDTriangleBasedShadingType- Parameters:
xform- the affine transformationmatrix- the pattern matrix- Returns:
- Bounding rectangle or null, if not supported by this shading type.
- Throws:
java.io.IOException- if the bounds could not be created
-
getBounds
java.awt.geom.Rectangle2D getBounds(java.awt.geom.AffineTransform xform, Matrix matrix, int controlPoints) throws java.io.IOException- Throws:
java.io.IOException
-
-