Class PDShadingType6
java.lang.Object
org.apache.pdfbox.pdmodel.graphics.shading.PDShading
org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType4
org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType6
- All Implemented Interfaces:
COSObjectable
Resources for a shading type 6 (Coons 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
ConstructorsConstructorDescriptionPDShadingType6
(COSDictionary shadingDictionary) Constructor using the given shading dictionary. -
Method Summary
Modifier and TypeMethodDescriptionprotected org.apache.pdfbox.pdmodel.graphics.shading.Patch
generatePatch
(Point2D[] points, float[][] color) int
The bits per component of this shading.int
The bits per coordinate of this shading.getBounds
(AffineTransform xform, Matrix matrix) Calculate a bounding rectangle around the areas of this shading context.getDecodeForParameter
(int paramNum) Get the decode for the input parameter.int
The number of color components of this shading.int
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
(ImageInputStream input, boolean isFree, Point2D[] implicitEdge, float[][] implicitCornerColor, long maxSrcCoord, long maxSrcColor, PDRange rangeX, PDRange rangeY, PDRange[] colRange, Matrix matrix, 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
(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.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.Returns an AWT paint which corresponds to this shadingMethods 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 Details
-
PDShadingType6
Constructor using the given shading dictionary.- Parameters:
shadingDictionary
- the dictionary for this shading
-
-
Method Details
-
getShadingType
public int getShadingType()Description copied from class:PDShading
This will return the shading type.- Overrides:
getShadingType
in classPDShadingType4
- Returns:
- the shading typ
-
toPaint
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(Point2D[] points, float[][] color) -
getBounds
Description copied from class:PDShading
Calculate a bounding rectangle around the areas of this shading context.- Parameters:
xform
-matrix
-- Returns:
- Bounding rectangle or null, if not supported by this shading type.
- Throws:
IOException
-
readPatch
protected org.apache.pdfbox.pdmodel.graphics.shading.Patch readPatch(ImageInputStream input, boolean isFree, Point2D[] implicitEdge, float[][] implicitCornerColor, long maxSrcCoord, long maxSrcColor, PDRange rangeX, PDRange rangeY, PDRange[] colRange, Matrix matrix, AffineTransform xform, int controlPoints) throws 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:
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
The number of color components of this shading.- Returns:
- number of color components of this shading
- Throws:
IOException
-
setDecodeValues
This will set the decode values.- Parameters:
decodeValues
- the new decode values
-
getDecodeForParameter
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(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
-