| PictureEffectsRaw Xojo Plugin |
|
MapEffectRaw Class (console safe)
The map effect is a low level effect for developers to make simple pixel mapping. This effect does the same as the Xojo's built in RGBSurface.Transform function, except this class makes use of the PictureEffects multi-core processing, as well as works on RawBitmap instead of Picture object.
Applies a one-to-one pixel transformation to all pixels of RawBitmap.
Specify the transformation via either of three lookup tables, red, green, and blue, or one lookup table to apply to all three channels.
Each map parameter is an 256 element array of UInt8. The transformation works as follows: For each pixel, the pixel’s RGB value is used as an index into the map arrays and the value found becomes the new R, G, or B value for the pixel.
For example, if you set up a map such that red(i)=255-i, then using this function will invert the image.
This class supports use of multiple CPU cores.
MPImageFilterRaw
MapEffectRaw
class MapEffectRaw implements
IRawBitmapProcessor
Properties
AsyncCompleted (Inherited) (console safe) | Returns true if asynchronous execution has completed, else false. |
AsyncResult (Inherited) (console safe) | Returns the result bitmap of asynchronous execution. |
CPUCoreCount (Inherited) (console safe) | Returns number of detected CPU cores on the running machine. |
Canceled (Inherited) (console safe) | If this one returns true then the effects execution was canceled by a Progress handler. |
ErrorCode (Inherited) (console safe) | Returns error code after applying the effect. This value is a Constant defined in the PictureEffectsRawError module. |
ForceThreads (Inherited) (console safe) | Forces use of thread when set to true even when using only one CPU core. |
Mask (console safe) | Sets mask for the operation if masking is wanted. |
MaximumCPUCores (Inherited) (console safe) | Read only property where each effect can report maximum CPU cores it supports. |
MultiprocessingHint (Inherited) (console safe) | Use this property to fine tune CPU usage for this algorithm. By default this property is set to zero (Automatic). This property accepts all constants that are defined in this class. |
ProgressHandler (Inherited) (console safe) | Use this property to use a progress class to get progress feedback from this function. This class must be a class that Implements the IProgressHandler Interface which is defined in this plugin. |
Methods
Apply (console safe) | Applies the effect on a RawBitmap image with parameters that have been set on the class instance. |
Apply (console safe) | Applies the effect on a RawBitmap image with parameters that have been set on the class instance, taking additionally the mapping channels as parameters. |
ApplyInPlace (console safe) | Applies the effect on a RawBitmap image with parameters that have been set on the class instance, and the RawBitmap passed in will also get the result image. |
Cancel (Inherited) (console safe) | Cancels processing and waits for threads to come to full stop when in asynchronous execution. |
SetMaps (console safe) | Sets the mapping parameters |
Constants
CPU_USE_MACHINE_CORE_COUNT = -1 (Inherited) | |
CPU_USE_AUTOMATIC = 0 (Inherited) | |
CPU_USE_1_CORE = 1 (Inherited) | |
CPU_USE_2_CORES = 2 (Inherited) | |
CPU_USE_3_CORES = 3 (Inherited) | |
CPU_USE_4_CORES = 4 (Inherited) | |
CPU_USE_5_CORES = 5 (Inherited) | |
CPU_USE_6_CORES = 6 (Inherited) | |
CPU_USE_7_CORES = 7 (Inherited) | |
CPU_USE_8_CORES = 8 (Inherited) | |
Supported Platforms:
macOS Intel 64 bitmacOS Apple SiliconWindows 32 bitWindows 64 bitWindows ARM 64 bitLinux 32 bitLinux 64 bitLinux ARM 32 bitLinux ARM 64 bitiOS