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 CombineCommandInherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommandImplements 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 imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Image3.cmp"));// Prepare the commandCombineCommand 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 LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.EffectsLeadtools.Examples.Support.SetLicense()Public Sub CombineCommandExample()Dim codecs As New RasterCodecs()codecs.ThrowExceptionsOnInvalidImages = TrueDim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\Image3.cmp"))' Prepare the commandDim command As CombineCommand = New CombineCommandcommand.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.ResultBluecommand.Run(leadImage)codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)End SubPublic NotInheritable Class LEAD_VARSPublic 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 commandCombineCommand 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 imageRasterCodecs codecs = new RasterCodecs();codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);image.Dispose();}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.EffectsPublic Sub CombineCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)' Prepare the commandDim 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.ResultBluecommand.Run(image)' Save result imageDim 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
