An image mask interned in a display list: one bit per sample saying where something is painted, at the mask's own resolution. It is either a stencil mask, painted with the current fill colour (FillImageMask(DisplayImageMask, in DisplayColor)), or the explicit mask of an image (Mask), which shows the image where it paints.
public sealed class DisplayImageMask
ISO 32000-2 §8.9.6.2 (stencil masking) and §8.9.6.3 (explicit masking). Samples are 1 bit, in the §8.9.3 layout (rows top to
bottom, most significant bit first, each row starting on a byte boundary). With the default Decode array [0 1] a sample
0 paints; with [1 0] (IsInverted) a sample 1 paints. Use Stencil(ReadOnlySpan<Byte>, Int32, Boolean, Span<Byte>) to turn a row into
coverage. Rows the data did not reach paint nothing.
The mask maps onto the unit square of user space like any image (§8.9.4), whatever its size: an explicit mask whose resolution differs from its image's is resampled to the device when drawn, never to the image's size. One instance per distinct mask stream per list; immutable, safe to read from any number of threads.
kind:method, kind:property, kind:ctor. Press Esc to clear.HeightGets the height in samples.InterpolateGets a value indicating whether the mask asks to be interpolated (smoothed) when it is enlarged.IsInvertedGets a value indicating whether a sample 1 paints (the Decode array is [1 0], the codec's polarity folded in); otherwise a sample 0 paints.WidthGets the width in samples.GetReduction(in Matrix, Double)Returns the reduction, as a power of two, at which a viewer may resample the mask when it is drawn under transform: the largest that still leaves samplesPerPixel samples per device pixel along its most enlarged direction; each reduced sample is then the share of the samples it covers that paint (8-bit coverage).GetRow(Int32)Gets one row of Samples.