CombineCommand Class
Summary
Combines image data from two images (source and destination), letting you specify the areas to be combined, the operations to be performed when combining the data, and which color planes (R or G or B or R, G, and B) are used.
Syntax
C#
VB
Java
Objective-C
WinRT C#
C++
@interface LTCombineCommand : LTRasterCommand
public class CombineCommand extends RasterCommand
function Leadtools.ImageProcessing.Effects.CombineCommand()
Example
Run the CombineCommand on an image.
C#
VB
WinRT C#
Silverlight C#
Silverlight VB
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Effects
Public Sub CombineCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\Image3.cmp"))
' Prepare the command
Dim command As CombineCommand = New CombineCommand
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)
' The source point, which represents the source point of the source image which to being combining.
command.SourcePoint = New LeadPoint(0, 0)
' the operations that will be performed to produce the result, and the channel that will be used to acheive this result.
command.Flags = CombineCommandFlags.OperationAdd Or CombineCommandFlags.Destination0 Or CombineCommandFlags.SourceRed Or CombineCommandFlags.DestinationGreen Or CombineCommandFlags.ResultBlue
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 CombineCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Image3.cmp"));
// Prepare the command
CombineCommand command = new CombineCommand();
command.SourceImage = image.Clone();
// the rectangle that represents the affected area of the destination image.
command.DestinationRectangle = new LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height);
// The source point, which represents the source point of the source image which is to be combined.
command.SourcePoint = new LeadPoint(0, 0);
// the operations that will be performed to produce the result, and the channel that will be used to achieve this result.
command.Flags = CombineCommandFlags.OperationAdd | CombineCommandFlags.Destination0 | CombineCommandFlags.SourceRed | CombineCommandFlags.DestinationGreen | CombineCommandFlags.ResultBlue;
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 CombineCommandExample()
{
// 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
CombineCommand command = new CombineCommand();
command.SourceImage = image.Clone();
// the rectangle that represents the affected area of the destination image.
command.DestinationRectangle = LeadRectHelper.Create(image.Width / 8, image.Height / 8, image.Width, image.Height);
// The source point, which represents the source point of the source image which to being combining.
command.SourcePoint = LeadPointHelper.Create(0, 0);
// the operations that will be performed to produce the result, and the channel that will be used to acheive this result.
command.Flags = CombineCommandFlags.OperationAdd | CombineCommandFlags.Destination0 | CombineCommandFlags.SourceRed | CombineCommandFlags.DestinationGreen | CombineCommandFlags.ResultBlue;
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);
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Effects;
using Leadtools.Examples;
public void CombineCommandExample(RasterImage image, Stream outStream)
{
// Prepare the command
CombineCommand command = new CombineCommand();
command.SourceImage = image.Clone();
command.DestinationRectangle = new LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height);
command.SourcePoint = new LeadPoint(0, 0);
command.Flags = CombineCommandFlags.OperationAdd | CombineCommandFlags.Destination0 | CombineCommandFlags.SourceRed | CombineCommandFlags.DestinationGreen | CombineCommandFlags.ResultBlue;
command.Run(image);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Effects
Public Sub CombineCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim command As CombineCommand = New CombineCommand()
command.SourceImage = image.Clone()
command.DestinationRectangle = New LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height)
command.SourcePoint = New LeadPoint(0, 0)
command.Flags = CombineCommandFlags.OperationAdd Or CombineCommandFlags.Destination0 Or CombineCommandFlags.SourceRed Or CombineCommandFlags.DestinationGreen _
Or CombineCommandFlags.ResultBlue
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub