PictureEffectsRaw Xojo Plugin

ImageChannelMixerRaw Class (console safe)

A class to obtain image channels from RawBitmap object and mix them back together into new RawBitmap.

Supports:
  • 8 bit per channel bitmaps

  • 16 bit per channel bitmaps

  • RGB color spaces

  • CMYK color spaces

  • Gray color spaces


  • This class supports use of multiple CPU cores on all systems.

    MPImageFilterRaw
       ImageChannelMixerRaw

    class ImageChannelMixerRaw

    Properties

    AlphaChannel (console safe) This property will contain the alpha channel as RawBitmap if both alpha channel was requested in the ExtractChannels method and original bitmap contained alpha channel.
    BlueChannel (console safe) This property will contain the alpha channel as RawBitmap if both blue channel was requested in the ExtractChannels method and original bitmap contained blue channel.
    CyanChannel (console safe) This property will contain the alpha channel as RawBitmap if both cyan channel was requested in the ExtractChannels method and original bitmap contained cyan channel.
    FillMissingChannelsWithMaxValues (console safe) If this property is set to true then missing channels when combining will be filled with max value instead of zero.
    GreenChannel (console safe) This property will contain the green channel as RawBitmap if both blue channel was requested in the ExtractChannels method and original bitmap contained green channel.
    KeyChannel (console safe) This property will contain the key channel as RawBitmap if both blue channel was requested in the ExtractChannels method and original bitmap contained key channel.
    MagentaChannel (console safe) This property will contain the magenta channel as RawBitmap if both blue channel was requested in the ExtractChannels method and original bitmap contained magenta channel.
    RedChannel (console safe) This property will contain the alpha channel as RawBitmap if both red channel was requested in the ExtractChannels method and original bitmap contained red channel.
    YellowChannel (console safe) This property will contain the alpha channel as RawBitmap if both yellow channel was requested in the ExtractChannels method and original bitmap contained yellow channel.
    Canceled (Inherited) (console safe) If this one returns true then the effects execution was canceled by a Progress handler.
    CPUCoreCount (Inherited) (console safe) Returns number of detected CPU cores on the running machine.
    ErrorCode (Inherited) (console safe) Returns error code after applying the effect. This value is a Constant defined in the PictureEffectsRawError module.
    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

    CombineChannelsCMYK (console safe) Combines channels into RawBitmap with CMYK color space.
    CombineChannelsCMYKA (console safe) Combines channels into RawBitmap with CMYK color space and alpha channel.
    CombineChannelsGrayAlpha (console safe) Combines channels into RawBitmap with Gray color space and alpha channel.
    CombineChannelsRGB (console safe) Combines channels into RawBitmap with RGB color space.
    CombineChannelsRGBA (console safe) Combines channels into RawBitmap with RGB color space and alpha channel.
    ExtractChannels (console safe) Extracts channels from a RawBitmap by a given mask.

    Constants

    CHANNEL_RED = &h1Constant to be used with the ExtractChannels method to request red channel.
    CHANNEL_GREEN = &h2Constant to be used with the ExtractChannels method to request green channel.
    CHANNEL_BLUE = &h4Constant to be used with the ExtractChannels method to request blue channel.
    CHANNEL_CYAN = &h8Constant to be used with the ExtractChannels method to request cyan channel.
    CHANNEL_MAGENTA = &h10Constant to be used with the ExtractChannels method to request magenta channel.
    CHANNEL_YELLOW = &h20Constant to be used with the ExtractChannels method to request yellow channel.
    CHANNEL_KEY = &h40Constant to be used with the ExtractChannels method to request key channel.
    CHANNEL_ALPHA = &h80Constant to be used with the ExtractChannels method to request alpha channel.
    CHANNEL_RGB = &h7Constant to be used with the ExtractChannels method to request red, green and blue channels.
    CHANNEL_CMYK = &h78Constant to be used with the ExtractChannels method to request cyan, magenta and yellow and key channels.
    CHANNEL_ALL = &h7FConstant to be used with the ExtractChannels method to request all channels that the source image might have.
    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 32 bit
  • MacOS X Cocoa 64 bit
  • Windows 32 bit
  • Windows 64 bit
  • Linux 32 bit
  • Linux 64 bit
  • Linux ARM