Table of Contents

Class LatticeFormGouraudShading

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

Lattice-form Gouraud-shaded triangle meshes (type 5) are based on the same geometrical construct as type 4 but with vertices specified as a pseudorectangular lattice.

public sealed class LatticeFormGouraudShading : Shading
Inheritance
LatticeFormGouraudShading
Inherited Members

Constructors

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

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

Parameters

antiAlias bool
shadingStream StreamToken
colorSpace ColorSpaceDetails
bbox PdfRectangle?
background double[]
bitsPerCoordinate int
bitsPerComponent int
verticesPerRow 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

Decode

(Required) An array of numbers specifying how to map vertex coordinates and colour components into the appropriate ranges of values. The decoding method is similar to that used in image dictionaries. The ranges shall bespecified 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[]

VerticesPerRow

(Required) The number of vertices in each row of the lattice; the value shall be greater than or equal to 2. The number of rows need not be specified.

public int VerticesPerRow { get; }

Property Value

int