Table of Contents

Class DynamicEffect

Namespace
PaintDotNet.Direct2D1
Assembly
PaintDotNet.Windows.Framework.dll

A dynamic effect is an IDynamicImage that provides metadata properties for DisplayName, Author, Category, and Description.

public abstract class DynamicEffect : DynamicImage, ISerializable, IDynamicEffect, IDynamicImage, IDeviceImage, IDirect2DResource, IObjectRef, IIsDisposed, IDisposable, IFactoryProperty, IInternalImpl
Inheritance
DynamicEffect
Implements
Derived
Inherited Members
Extension Methods

Remarks

The difference between an IDynamicImage and an IDynamicEffect is intention, not functionality. IDynamicEffects are intended as public APIs that can be gathered using reflection and displayed in a UI, such as a node/graph editor, alongside regular IDeviceEffects. If an IDynamicImage is not an IDynamicEffect, then it should not be considered an "effect" that can be surfaced in a UI that works with effects (such as a node/graph editor).

The effect properties are intended to be presented to the user and should not be relied upon to have any specific text or pattern. They may be changed at any time, and may be localized (translated).

NOTE: Due to limitations in the Direct2D effects and rendering systems, inputs to dynamic images that are also used in effect graphs may need to be wrapped in an ICommandList when used outside of the dynamic image. You can use the CreateBufferedImage(IDeviceContext, IDeviceImage) extension method for this. See that method for more details.

NOTE: Dynamic images usually require the device context's target to be using a buffer precision of Float32 for correct rendering.
If your target is lower precision, use CreateCompatibleDeviceContext(SizeFloat?, SizeInt32?, DevicePixelFormat?, CompatibleDeviceContextOptions) to create an off-screen buffer to render the dynamic image into, and then draw the compatible device context's bitmap to the final render target (device context).

Properties

Properties