What an IImageFilter needs to decode an image: the image dictionary's values, the engine's image limits, and the filter context (parameters, stream dictionary, references, diagnostics).
public sealed class ImageFilterContext
ISO 32000-2 §8.9.5.1, Table 87. The values are the dictionary's as read, 0 (or false) when absent; a codec whose
format carries its own (JPEG 2000) uses those instead. A context created with the public constructor stands alone, for tests and
for using a codec outside a document.
A context belongs to one decode call on one thread.
kind:method, kind:property, kind:ctor. Press Esc to clear.ImageFilterContext(FilterContext)Initializes a new instance of the ImageFilterContext class.BitsPerComponentGets the image dictionary's BitsPerComponent (1 for an image mask), or 0.ColorComponentsGets the number of components of the dictionary's ColorSpace (1 for an image mask), or 0 when it has none.FilterGets the filter context: Parameters, StreamDictionary, diagnostics.HeightGets the image dictionary's Height, or 0.IsStencilGets a value indicating whether the image is a stencil mask (ImageMask true, as IsStencil): one component, one bit.MaxDecodedLengthGets the most bytes one image's samples may take; the same limit as MaxDecodedLength, which it defaults to.MaxPixelsGets the most pixels one image may have.ReductionGets the reduction asked for, as a power of two: 0 (the default) for the full resolution, 1 for half, 2 for a quarter, 3 for an eighth. A codec that cannot reduce, or not that far, delivers less and says so in Reduction.WantsAlphaGets a value indicating whether the dictionary's SMaskInData asks for the codestream's opacity channel; without it a codec may skip that work.WidthGets the image dictionary's Width, or 0.TryCreateImage(Int32, Int32, Int32, Int32, out DecodedImageBuilder?)Creates the builder an image is decoded into, after checking its size against MaxPixels and MaxDecodedLength; reports ImageTooLarge instead when it is too large.