LEADTOOLS Image Processing (Leadtools.ImageProcessing.Effects assembly)

Flags Property (CombineCommand)

Show in webframe
Example 







Gets or sets flags from seven groups that define treatment of the source, treatment of the destination, the operation to use when combining the data, treatment of the resulting image, and the color plan for the destination, source and resulting images.
Syntax
public CombineCommandFlags Flags {get; set;}
'Declaration
 
Public Property Flags As CombineCommandFlags
'Usage
 
Dim instance As CombineCommand
Dim value As CombineCommandFlags
 
instance.Flags = value
 
value = instance.Flags
public CombineCommandFlags Flags {get; set;}
@property (nonatomic, assign) LTCombineCommandFlags flags;
public int getFlags()
public void setFlags(int value)
            
 
get_Flags();
set_Flags(value);
Object.defineProperty('Flags');
public:
property CombineCommandFlags Flags {
   CombineCommandFlags get();
   void set (    CombineCommandFlags value);
}

Property Value

Value that represent the flags. The flags apply only to the defined rectangles (not necessarily the whole image). You can use a bitwise OR ( | ) to specify one flag from each group.
Remarks
If the user didn't set any one of these flags: Then the CombineCommand will internally use the CombineCommandFlags.SourceMaster which means that all of channels (red, green and blue) will be used from the source image.

If the user didn't set any one of these flags:

Then the CombineCommand will internally use the CombineCommandFlags.DestinationMaster which means that all of channels (red, green and blue) will be used from the destination image.
Example
Copy Code  
Imports Leadtools
 Imports Leadtools.Codecs
 Imports Leadtools.ImageProcessing.Effects

 Public Sub CombineCommandMasterChannelExample()
    Dim codecs As New RasterCodecs()
    codecs.ThrowExceptionsOnInvalidImages = True

    Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))

    ' Prepare the command
    Dim command As CombineCommand = New CombineCommand
    ' the source image that will be combined with the desintation image that is sent through Command.Run().
    command.SourceImage = leadImage.Clone()
    ' The rectangle that represents the affected area of the destination image.
    command.DestinationRectangle = New LeadRect(leadImage.Width \ 8, leadImage.Height \ 8, leadImage.Width, leadImage.Height)
    command.SourcePoint = New LeadPoint(0, 0)
    ' The combine will Xor the source and destination image, but set the destination values to 1 before doing the XOR. the effect will be applied on all 3 channels
    command.Flags = CombineCommandFlags.OperationXor
    command.Run(leadImage)
    codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)

End Sub

 Public NotInheritable Class LEAD_VARS
 Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
 End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Effects;

public void CombineMasterChannelExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;

   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

   // Prepare the command
   RasterImage tempImage = image.Clone();
   LeadRect rect = new LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height);
   CombineCommand command = new CombineCommand();
   // the source image that will be combined with the desintation image that is sent through Command.Run().
   command.SourceImage = tempImage;
   // the rectangle that represents the affected area of the destination image.
   command.DestinationRectangle = rect;

   // The combine will Xor the source and destination image, but set the destination values to 1 before doing the XOR.
   command.Flags = CombineCommandFlags.OperationXor | CombineCommandFlags.Destination1;
   command.Run(image);
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24);
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Effects;
using Leadtools.ImageProcessing;

      
public async Task CombineMasterChannelExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   // Load the image
   string srcFileName = @"Assets\Image1.cmp";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Prepare the command
   RasterImage tempImage = image.Clone();
   LeadRect rect = LeadRectHelper.Create(image.Width / 8, image.Height / 8, image.Width, image.Height);
   CombineCommand command = new CombineCommand();
   // the source image that will be combined with the desintation image that is sent through Command.Run().
   command.SourceImage = tempImage;
   // the rectangle that represents the affected area of the destination image.
   command.DestinationRectangle = rect;

   // The combine will Xor the source and destination image, but set the destination values to 1 before doing the XOR.
   command.Flags = CombineCommandFlags.OperationXor | CombineCommandFlags.Destination1;
   command.Run(image);
   //Save as BMP
   string destFileName = @"result.bmp";
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24);
}
Requirements

Target Platforms

See Also

Reference

CombineCommand Class
CombineCommand Members

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.