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.
public class CombineCommand : RasterCommand
Public Class CombineCommand
Inherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand
Implements Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
public sealed class CombineCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
@interface LTCombineCommand : LTRasterCommand
public class CombineCommand extends RasterCommand
function Leadtools.ImageProcessing.Effects.CombineCommand()
public ref class CombineCommand : public Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
If the channel setting for one of the images is the master channel (CombineCommandFlags.SourceMaster, CombineCommandFlags.DestinationMaster, or CombineCommandFlags.ResultMaster) the settings for all the images will be set to master.
In order to speed up widely used image processing filters in LEADTOOLS, the grayscale value (master channel) of a colored image is calculated using the following formulas:
#define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8))))
#define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
#define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
If a region is defined for either the source or destination image, or both images, the combine applies only to the intersection of regions.
For more information, refer to Detecting and Enhancing Edges and Lines. For more information, refer to Removing Noise.
Run the CombineCommand on an image.
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";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Effects
Leadtools.Examples.Support.SetLicense()
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;
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
Leadtools.ImageProcessing.Effects Namespace
Detecting and Enhancing Edges and Lines
TextureAlphaBlendCommand Class
Leadtools.ImageProcessing.Core.ApplyTransformationParametersCommand
Leadtools.ImageProcessing.Core.SearchRegistrationMarksCommand
Leadtools.ImageProcessing.SpecialEffects.BricksTextureCommand
Leadtools.ImageProcessing.SpecialEffects.CanvasCommand
Leadtools.ImageProcessing.SpecialEffects.VignnetCommand
Leadtools.ImageProcessing.SpecialEffects.FragmentCommand
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET