Table of Contents

Class TensorProductPatchMeshesShading

Namespace
UglyToad.PdfPig.Graphics.Colors
Assembly
UglyToad.PdfPig.dll

Tensor-product patch meshes (type 7) are similar to type 6 but with additional control points in each patch, affording greater control over colour mapping.

public sealed class TensorProductPatchMeshesShading : Shading
Inheritance
TensorProductPatchMeshesShading
Inherited Members

Constructors

TensorProductPatchMeshesShading(bool, StreamToken, ColorSpaceDetails, PdfRectangle?, double[], int, int, int, double[], PdfFunction[])

public TensorProductPatchMeshesShading(bool antiAlias, StreamToken shadingStream, ColorSpaceDetails colorSpace, PdfRectangle? bbox, double[] background, int bitsPerCoordinate, int bitsPerComponent, int bitsPerFlag, double[] decode, PdfFunction[] functions)

Parameters

antiAlias bool
shadingStream StreamToken
colorSpace ColorSpaceDetails
bbox PdfRectangle?
background double[]
bitsPerCoordinate int
bitsPerComponent int
bitsPerFlag int
decode double[]
functions PdfFunction[]

Properties

BitsPerComponent

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

public int BitsPerComponent { get; }

Property Value

int

BitsPerCoordinate

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

public int BitsPerCoordinate { get; }

Property Value

int

BitsPerFlag

(Required) The number of bits used to represent the edge flag for each patch (see below). The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3.

public int BitsPerFlag { get; }

Property Value

int

Decode

(Required) An array of numbers specifying how to map coordinates and colour components into the appropriate ranges of values. The decoding method is similar to that used in image dictionaries. The ranges shall be specified as follows: [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] Only one pair of c values shall be specified if a Function entry is present.

public double[] Decode { get; }

Property Value

double[]

Functions

(Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of colour components in the shading dictionary's colour space). If this entry is present, the colour data for each vertex shall be specified by a single parametric variable rather than by n separate colour components. The designated function(s) shall be called with each interpolated value of the parametric variable to determine the actual colour at each point. Each input value shall be forced into the range interval specified for the corresponding colour component in the shading dictionary's Decode array. Each function’s domain shall be a superset of that interval. If the value returned by the function for a given colour component is out of range, it shall be adjusted to the nearest valid value. This entry shall not be used with an Indexed colour space.

public override PdfFunction[] Functions { get; }

Property Value

PdfFunction[]