LEADTOOLS Image Processing (Leadtools.ImageProcessing.Effects assembly)
LEAD Technologies, Inc

Flags Property (CombineCommand)

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. .NET support WinRT support Silverlight support
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;}
 get_Flags();
set_Flags(value);
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
 
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
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";
}
[TestMethod]
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: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

CombineCommand Class
CombineCommand Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.