The decoded samples of an image: the buffer every image codec fills and the renderer reads. Owns pooled memory; dispose it to return the memory.
public sealed class DecodedImage : IDisposable
ISO 32000-2 §8.9.3 sample layout, exactly: Height rows of Stride bytes, each row starting on a byte boundary; within a row the Components components of each sample are interleaved, packed most significant bit first at StorageBits bits each (1, 2, 4, 8 or 16; 16-bit values big-endian); the padding bits at the end of a row are meaningless. Stride is ⌈Width × Components × StorageBits / 8⌉ with no further alignment, so a filter's output is adopted as it is.
The values are the raw samples, before the image's Decode array (§8.9.5.2): ImageDecodeMap applies it.
BitsPerComponent is the logical depth, which sets the largest raw value (2^n − 1); a depth the layout cannot store
directly (3, 5, 6, 7, 9 to 15, a JPEG 2000 precision) is stored in the next wider unit without scaling.
Built by a DecodedImageBuilder, then immutable: safe for concurrent readers until disposed. Disposing while another thread reads is a caller error.
kind:method, kind:property, kind:ctor. Press Esc to clear.AdobeTransformGets the transform code of a JPEG Adobe APP14 marker (0, 1 or 2), or null when there is none.AlphaGets the opacity the codec decoded with the colour (a JPEG 2000 opacity channel), one component, same size; or null.AlphaPremultipliedGets a value indicating whether the colour samples were premultiplied by Alpha (SMaskInData 2).BitsPerComponentGets the logical number of bits per component: raw values run from 0 to 2^n − 1.ColorModelGets the colour model the codec reports, or Unknown.ColorTransformAppliedGets a value indicating whether the codec converted YCbCr to RGB or YCCK to CMYK.ComponentsGets the number of colour components in each sample (1 for an image mask or a soft mask).DecodedRowsGets the number of rows the data actually held; the rows after them are zero.HeightGets the number of rows.IccProfileGets the ICC profile the codestream carries (a JPEG 2000 colr box), or empty.PaletteGets the palette the codec left unapplied because the image's colour space is Indexed, as base-space bytes, or empty.ReductionGets the reduction the samples were decoded at, as a power of two: 0 for the image's full resolution, 1 for half, 2 for a quarter, 3 for an eighth (Reduction).SamplesInvertedGets a value indicating whether the codec delivered samples of the opposite polarity to the PDF convention (a JBIG2 codec that leaves 1 as black, say) and left inverting them to the image layer, which folds the inversion into the Decode mapping.StorageBitsGets the number of bits each component occupies in Samples: 1, 2, 4, 8 or 16.WidthGets the number of samples in each row.Dispose()Returns the pooled memory, and the alpha image's.GetRow(Int32)Returns row y: Stride bytes, top row first.