Click or drag to resize
DiscreteTransferEffect Class
[NoComposition] Alters the colors of an image using a quantized transfer function defined by an arbitrary lookup table.
Inheritance Hierarchy
SystemObject
  Microsoft.Graphics.Canvas.EffectsDiscreteTransferEffect

Namespace:  Microsoft.Graphics.Canvas.Effects
Assembly:  Microsoft.Graphics.Canvas (in Microsoft.Graphics.Canvas.dll) Version: 0.0.0.0
Syntax
C#
public sealed class DiscreteTransferEffect : ICanvasEffect, 
	IGraphicsEffect, IGraphicsEffectSource, ICanvasImage, IDisposable

The DiscreteTransferEffect type exposes the following members.

Constructors
  NameDescription
Public methodDiscreteTransferEffect
Initializes a new instance of the DiscreteTransferEffect class.
Top
Properties
  NameDescription
Public propertyAlphaDisable
Disables the alpha channel transfer table. Default value false.
Public propertyAlphaTable
List of values defining the transfer function for the alpha channel. Default value {0,1}.
Public propertyBlueDisable
Disables the blue channel transfer table. Default value false.
Public propertyBlueTable
List of values defining the transfer function for the blue channel. Default value {0,1}.
Public propertyBufferPrecision
Specifies what precision to use for intermediate buffers when drawing this effect.
Public propertyCacheOutput
Enables caching the output from drawing this effect.
Public propertyClampOutput
If set, the effect clamps color values to between 0 and 1 before passing them on to the next effect in the graph. If false, the effect will not clamp values, although subsequent effects or the output surface may later clamp if they are not of high enough precision. Default value false.
Public propertyGreenDisable
Disables the green channel transfer table. Default value false.
Public propertyGreenTable
List of values defining the transfer function for the green channel. Default value {0,1}.
Public propertyName
Attaches a user-defined name string to the effect.
Public propertyRedDisable
Disables the red channel transfer table. Default value false.
Public propertyRedTable
List of values defining the transfer function for the red channel. Default value {0,1}.
Public propertySource
Gets or sets the input source for DiscreteTransfer effect.
Top
Methods
  NameDescription
Public methodDispose
Releases all resources used by the effect.
Public methodGetBounds(ICanvasResourceCreator)
Retrieves the bounds of this DiscreteTransferEffect.
Public methodGetBounds(ICanvasResourceCreator, Matrix3x2)
Retrieves the bounds of this DiscreteTransferEffect.
Public methodGetInvalidRectangles
Queries what regions of the effect output have changed since it was last drawn.
Public methodCode exampleGetRequiredSourceRectangle
Queries what part of an effect source image is needed to draw an output region.
Public methodGetRequiredSourceRectangles
Queries what parts of the effect source images are needed to draw an output region.
Public methodInvalidateSourceRectangle
Notifies the effect that one of its source images has changed.
Top
Remarks

Supported by Win2D but not Windows.UI.Composition.

DiscreteTransferEffect effect is similar to TableTransferEffect. The difference is that DiscreteTransferEffect does not interpolate between entries in the transfer table, which produces a stepped (quantized) rather than smooth result.

The transfer function is based on the list of inputs: V=(V0,V1,V2,V3,Vk...,VN) where N is the number of elements - 1.

The input pixel intensity is represented as C. The output pixel intensity, C' is calculated as follows:

For a value C, pick a value k, such that: k/N <= C < (k+1)/N

The output C' is calculated using the equation: C' = Vk

Effect inputs and outputs are assumed to be in premultiplied alpha format, but this effect operates internally on straight alpha data, so its input values will be unpremultiplied, then the transfer function applied, and finally the result converted back to premultiplied format.

This Windows Runtime type corresponds to the D2D Discrete transfer effect.

See Also