PictureEffectsRaw Xojo Plugin

TrimEffectRaw Class (console safe)

A class to trim a RawBitmap by removing area around it that consists of a specified color or specified alpha. The class can also be used to do specified manual trimming.

The class can also set tolerance for the automatic trimming.



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
       TrimEffectRaw

    class TrimEffectRaw implements

    IRawBitmapProcessor

    Properties

    EdgePixelCount (console safe) The count of pixels from the actual image that should not be trimmed.
    Tolerance (console safe) Sets how much the set color may differ from the colors in the picture to to be considered match.
    TrimMethod (console safe) Sets the trim method to be used. Automatic based on color, automatic based on alpha, automatic based on color and alpha or manual.
    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

    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 some of the parameters that have been set on the class instance, taking trimMethod in as Parameter as well as edgePixelCount.
    GetLastTrimBounds (console safe) Gets the bounds of last trim operation that was done with the Apply function on this class instance.
    GetTrimBounds (console safe) Gets the bounds of image as it would be if it was trimmed. This function does not actually trim the image.
    SetManualTrimBounds (console safe) Sets manual trim bounds. This method is used together with when the TrimMethod property has been set to Manual.
    SetTrimAlpha (console safe) Sets trim alpha value.
    SetTrimColor (console safe) Sets the trim color
    SetTrimColorGray (console safe) Sets Trim gray color.
    SetTrimColorGrayA (console safe) Sets Trim gray color and alpha.

    Enumerations

    TrimMethodsA enum used to define what trim method to use when trimming a RawBitmap

    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 five 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 six 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 seven 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 eight 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