PictureEffects Xojo and Real Studio Plugin

HueSaturation Class

A class to do Hue, Saturation and Lightness filters on pictures.

This class supports use of multiple CPU cores on MacOS X, Windows and Linux systems.

MPImageFilter
   HueSaturation

class HueSaturation implements

IGraphicsEffect

IGraphicsEffectInPlace

Constructors

HueSaturationThe default constructor for the HueSaturation class, all values are set to zero.
HueSaturationUse this constructor to construct a HueSaturation object where the Hue, Saturation and Lightness properties have been preset for the Master channel, and the Calculate function has been pre called for you.

Properties

Mask
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 this class.
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

ApplyUse this function to apply the effect based of the settings of the Hue, Saturation and Lightness properties for all of the channels.
ApplyApplies the effect on a given 32 bit source image with parameters that have been set on the class instance.
ApplyInPlaceApplies the effect in place on a given 32 bit source image with parameters that have been set on the class instance.
ApplyInPlaceApplies the effect in place on a given 32 bit source image with a given 32 bit mask.
CalculateUse this method to recalculate internal conversation tables. This method must be called after setting all the Hue, Lightness and Saturation properties, before ApplyEffect is called.
HueUse this setter/getter function to set or get a value of Hue for any desired channel.
LightnessUse this setter/getter function to set or get a value of Lightness for any desired channel.
ResetThis method resets all the Hue, Lightness and Saturation properties to 0.0.
SaturationUse this etter/getter function to set or get a value of Saturation for any desired channel.

Constants

CPU_USE_MACHINE_CORE_COUNT = -1 (Inherited) Uses exactly the number of available CPU cores in the machine. (Available here means on-line CPU cores, some laptops can put CPU cores off line in low battery situations)
CPU_USE_AUTOMATIC = 0 (Inherited) Takes into account number of available CPU cores on the Machine and also tries to select the fastest way based on developer rating for each algorithm and picture size. (In simple algorithms then the fastest path is sometimes 2 or 3 CPU cores and not 4 CPU cores because of the overhead of managing multiple cores). In more complex algorithms then 3 or 4 cores are almost always faster than 2 cores.
CPU_USE_1_CORE = 1 (Inherited) Uses one CPU core.
CPU_USE_2_CORES = 2 (Inherited) Uses two CPU cores. This setting will also work on machines with less than two CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_3_CORES = 3 (Inherited) Uses three CPU cores. This setting will also work on machines with less than three CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_4_CORES = 4 (Inherited) Uses four CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_5_CORES = 5 (Inherited) Uses five CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_6_CORES = 6 (Inherited) Uses six CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_7_CORES = 7 (Inherited) Uses seven CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_8_CORES = 8 (Inherited) Uses eight CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.

Supported Platforms:

  • MacOS X Carbon
  • MacOS X Cocoa
  • Win32 - Windows
  • Linux x86

    Unsupported Platforms: