A shading whose geometry is a mesh given as stream data (Types 4 to 7): triangles (PdfTriangleMeshShading) or patches (PdfPatchMeshShading) with colours at their vertices or corners.
public abstract class PdfMeshShading : PdfShading
ISO 32000-2 §8.7.4.5.5 to §8.7.4.5.8, Tables 81 to 85, and §8.9.5.2 (the Decode formula). The data is decoded on first access to the geometry, once however many threads ask; coordinates are kept as doubles (24- and 32-bit coordinates exceed a float's precision). A colour is ColorStride floats: the parametric value t when the shading has a function (pass it to EvaluateFunction(ReadOnlySpan<Single>, Span<Single>) after interpolating), else the components in InterpolationColorSpace (indices of an Indexed space are converted to its base when decoded).
Repairs: field widths outside the sets the tables allow are read as given (1 to 32 bits) with a diagnostic; truncated data keeps
the complete triangles or patches before the cut with one MeshDataTruncated diagnostic; see the subclasses for edge
flags. Meshes larger than MaxMeshVertices are cut there with a MeshSizeExceeded diagnostic.
kind:method, kind:property, kind:ctor. Press Esc to clear.BitsPerComponentGets the number of bits per colour component or t (1, 2, 4, 8, 12 or 16); 0 when the entry is unusable.BitsPerCoordinateGets the number of bits per coordinate (1, 2, 4, 8, 12, 16, 24 or 32); 0 when the entry is unusable.BitsPerFlagGets the number of bits per edge flag (2, 4 or 8); 0 for a lattice (Type 5), which has no flags.ColorStrideGets the number of floats per stored colour: 1 (t) with a function, else the components of the interpolation space.DecodeGets the Decode array: xmin xmax ymin ymax, then a pair per colour value.