| PictureEffects REALbasic Plugin |
|
MapEffect Class
The map effect is a low level effect for developers to make simple pixel mapping. This effect does the same as the REALbasic's built in RGBSurface.Transform function, except this class makes use of the PictureEffects multi-core processing.
Applies a one-to-one pixel transformation to all pixels of an RGBSurface.
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.
MPImageFilter
MapEffect
class MapEffect
Properties
IgnoreAlpha | If set to true then the alpha channel of the source image will not be included in the destination image. |
CPUCoreCount (Inherited) | Returns number of detected CPU cores on the running machine. |
ErrorCode (Inherited) | Returns error code after applying the effect. This value is a Constant defined in the PictureEffectsError module. |
MultiprocessingHint (Inherited) | 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 PictureEffectsCPUUsage. |
ProgressHandler (Inherited) | 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 | Applies the effect on a given source image with a given mask. |
ApplyInPlace | Applies the effect on a given source image with a given mask without creating a new image, the result is written into the source image. Very Important read the remarks. |
Example
Dim pic as Picture
Dim effect as MapEffect
Dim i as Integer
Dim mapping(255) as UInt8
if m_Picture = nil then
return
end if
effect = new MapEffect()
// Do a simple Invert mapping
for i = 0 to 255
mapping(i) = 255-i
next
m_DistortedImage = effect.Apply(m_Picture,mapping,mapping,mapping,nil)
Supported Platforms:
MacOS X PPC - (Mach-O)MacOS X Universal Binary (Mach-O)MacOS X Cocoa Universal Binary (Mach-O)Win32 - WindowsLinux x86Unsupported Platforms: