Table of Contents

Class PdfShading.CoonsPatchMesh

Namespace
iText.Kernel.Pdf.Colorspace
Assembly
itext.kernel.dll

The class that extends PdfShading class and is in charge of Shading Dictionary with Coons Patch mesh type.

public class PdfShading.CoonsPatchMesh : PdfShading
Inheritance
PdfShading.CoonsPatchMesh
Inherited Members

Remarks

The class that extends PdfShading class and is in charge of Shading Dictionary with Coons Patch mesh type. This type of shading is constructed from one or more colour patches, each bounded by four cubic Bézier curves. Degenerate Bézier curves are allowed and are useful for certain graphical effects. At least one complete patch shall be specified. The shape of patch is defined by 12 control points. Colours are specified for each corner of the unit square, and bilinear interpolation is used to fill in colours over the entire unit square. Coordinates are mapped from the unit square into a four-sided patch whose sides are not necessarily linear. The mapping is continuous: the corners of the unit square map to corners of the patch and the sides of the unit square map to sides of the patch. For the format of data stream, that defines patches (see ISO-320001 Table 85). If the shading dictionary contains a Function entry, the colour data for each corner of a patch shall be specified by a single parametric value t rather than by n separate colour components c1...cn.

Constructors

CoonsPatchMesh(PdfColorSpace, int, int, int, float[])

Creates the new instance of the class.

public CoonsPatchMesh(PdfColorSpace cs, int bitsPerCoordinate, int bitsPerComponent, int bitsPerFlag, float[] decode)

Parameters

cs PdfColorSpace

the PdfColorSpace object in which colour values shall be expressed. The special Pattern space isn't excepted.

bitsPerCoordinate int

the number of bits used to represent each vertex coordinate. The value shall be 1, 2, 4, 8, 12, 16, 24, or 32.

bitsPerComponent int

the number of bits used to represent each colour component. The value shall be 1, 2, 4, 8, 12, or 16.

bitsPerFlag int

the number of bits used to represent the edge flag for each vertex. The value of BitsPerFlag shall be 2, 4, or 8, but only the least significant 2 bits in each flag value shall be used. The value for the edge flag shall be 0, 1, 2 or 3.

decode float[]

the int[] of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values. The ranges shall be specified as follows: [x_min x_max y_min y_max c1_min c1_max … cn_min cn_max]. Only one pair of color values shall be specified if a Function entry is present.

CoonsPatchMesh(PdfColorSpace, int, int, int, PdfArray)

Creates the new instance of the class.

public CoonsPatchMesh(PdfColorSpace cs, int bitsPerCoordinate, int bitsPerComponent, int bitsPerFlag, PdfArray decode)

Parameters

cs PdfColorSpace

the PdfColorSpace object in which colour values shall be expressed. The special Pattern space isn't excepted.

bitsPerCoordinate int

the number of bits used to represent each vertex coordinate. The value shall be 1, 2, 4, 8, 12, 16, 24, or 32.

bitsPerComponent int

the number of bits used to represent each colour component. The value shall be 1, 2, 4, 8, 12, or 16.

bitsPerFlag int

the number of bits used to represent the edge flag for each vertex. The value of BitsPerFlag shall be 2, 4, or 8, but only the least significant 2 bits in each flag value shall be used. The value for the edge flag shall be 0, 1, 2 or 3.

decode PdfArray

the PdfArray of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values. The ranges shall be specified as follows: [x_min x_max y_min y_max c1_min c1_max … cn_min cn_max]. Only one pair of color values shall be specified if a Function entry is present.

CoonsPatchMesh(PdfStream)

Creates the new instance of the class from the existing PdfStream.

protected CoonsPatchMesh(PdfStream pdfStream)

Parameters

pdfStream PdfStream

from which this PdfShading.CoonsPatchMesh will be created

Methods

GetBitsPerComponent()

Gets the number of bits used to represent each colour component.

public virtual int GetBitsPerComponent()

Returns

int

the number of bits. Can be 1, 2, 4, 8, 12, or 16.

GetBitsPerCoordinate()

Gets the number of bits used to represent each vertex coordinate.

public virtual int GetBitsPerCoordinate()

Returns

int

the number of bits. Can be 1, 2, 4, 8, 12, 16, 24, or 32.

GetBitsPerFlag()

Gets the number of bits used to represent the edge flag for each vertex.

public virtual int GetBitsPerFlag()

Returns

int

the number of bits. Can be 2, 4 or 8.

Remarks

Gets the number of bits used to represent the edge flag for each vertex. But only the least significant 2 bits in each flag value shall be used. The valid flag values are 0, 1, 2 or 3.

GetDecode()

Gets the PdfArray of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values.

public virtual PdfArray GetDecode()

Returns

PdfArray

the PdfArray Decode object.

Remarks

Gets the PdfArray of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values. The ranges shall be specified as follows: [x_min x_max y_min y_max c1_min c1_max … cn_min cn_max]. Only one pair of color values shall be specified if a Function entry is present.

SetBitsPerComponent(int)

Sets the number of bits used to represent each colour component.

public virtual void SetBitsPerComponent(int bitsPerComponent)

Parameters

bitsPerComponent int

the number of bits to be set. Shall be 1, 2, 4, 8, 12, or 16.

SetBitsPerCoordinate(int)

Sets the number of bits used to represent each vertex coordinate.

public virtual void SetBitsPerCoordinate(int bitsPerCoordinate)

Parameters

bitsPerCoordinate int

the number of bits to be set. Shall be 1, 2, 4, 8, 12, 16, 24, or 32.

SetBitsPerFlag(int)

Sets the number of bits used to represent the edge flag for each vertex.

public virtual void SetBitsPerFlag(int bitsPerFlag)

Parameters

bitsPerFlag int

the number of bits to be set. Shall be 2, 4 or 8.

Remarks

Sets the number of bits used to represent the edge flag for each vertex. But only the least significant 2 bits in each flag value shall be used. The valid flag values are 0, 1, 2 or 3.

SetDecode(float[])

Sets the float[] of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values.

public virtual void SetDecode(float[] decode)

Parameters

decode float[]

the float[] of Decode object to set.

Remarks

Sets the float[] of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values. The ranges shall be specified as follows: [x_min x_max y_min y_max c1_min c1_max … cn_min cn_max]. Only one pair of color values shall be specified if a Function entry is present.

SetDecode(PdfArray)

Sets the PdfArray of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values.

public virtual void SetDecode(PdfArray decode)

Parameters

decode PdfArray

the PdfArray Decode object to set.

Remarks

Sets the PdfArray of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values. The ranges shall be specified as follows: [x_min x_max y_min y_max c1_min c1_max … cn_min cn_max]. Only one pair of color values shall be specified if a Function entry is present.