Applies the displacement map filter effect.
This filter effect uses the pixel values from the image from Mix to spatially displace the image from Input. This is the transformation to be performed:
P'(x,y) <- P(x + Scale * (XC(x,y) - 0.5), y + Scale * (YC(x,y) - 0.5))
where P(x,y)
is the Input image, and P'(x,y)
is the Target. XC(x,y)
and YC(x,y)
are the component values of the channel designated by the XChannel and YChannel. For example, to use the red component of Mix to control displacement in X
and the green component to control displacement in Y
, set XChannel to CMP::RED
and YChannel to CMP::GREEN
.
The displacement map defines the inverse of the mapping performed.
The Input image is to remain premultiplied for this filter effect. The calculations using the pixel values from Mix are performed using non-premultiplied color values. If the image from Mix consists of premultiplied color values, those values are automatically converted into non-premultiplied color values before performing this operation.
The DisplacementFX class consists of the following fields:
Access | Name | Type | Comment | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Scale | DOUBLE | Displacement scale factor. | |||||||||||||
The amount is expressed in the coordinate system established by VectorFilter⇒PrimitiveUnits on the parent VectorFilter. When the value of this field is 0, this operation has no effect on the source image. | |||||||||||||||
XChannel | INT | X axis channel selection. | |||||||||||||
| |||||||||||||||
XMLDef | STRING | Returns an SVG compliant XML string that describes the effect. | |||||||||||||
YChannel | INT | Y axis channel selection. | |||||||||||||
|
The following actions are currently supported:
Name | Comment | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Draw | Render the effect to the target bitmap. | |||||||||||
ERR acDraw(*Object, DOUBLE X, DOUBLE Y, DOUBLE Width, DOUBLE Height)
|
Component selection for RemapFX methods.
Name | Description |
---|---|
CMP::ALL | All colour channels. |
CMP::ALPHA | The alpha channel. |
CMP::BLUE | The blue colour channel. |
CMP::GREEN | The green colour channel. |
CMP::RED | The red colour channel. |
Class Info | |
---|---|
ID | ID_DISPLACEMENTFX |
Category | Graphics |
Include | modules/displacementfx.h |
Version | 1 |