Combines image data from two images (source and destination), letting you specify the areas to be combined and the operations to be performed when combining the data.
public class CombineFastCommand : RasterCommand Public Class CombineFastCommandInherits Leadtools.Imageprocessing.RasterCommandImplements Leadtools.Imageprocessing.IRasterCommand
public sealed class CombineFastCommand : Leadtools.Imageprocessing.IRasterCommand @interface LTCombineFastCommand : LTRasterCommand public class CombineFastCommand extends RasterCommand function Leadtools.ImageProcessing.CombineFastCommand() public ref class CombineFastCommand : public Leadtools.Imageprocessing.RasterCommand, Leadtools.Imageprocessing.IRasterCommand As an example, suppose you use SpatialFilterCommand class to apply an edge detection filter. You can then use this class to combine the resulting image with the original one to produce an image with hard edges.
The CombineFastCommand class works by combining the image in the DestinationImage property with the image passed to the Run method. The DestinationImage will then hold the result of the combine operation.
The CombineFastCommand flags are divided into four groupings: source (SRC) flags, destination (DST) flags, operation (OP) flags, and resulting image (RES) flags. The flags apply only to the defined rectangles (not necessarily the whole image). The flags are applied in the following order:
You can use a bitwise OR ( ¦ ) to specify one flag from each group.
| Group | Flags |
| Flags that define treatment of the source rectangle | None, SourceNot, Source0, Source1 |
| Flags that define treatment of the destination rectangle | DestinationNot, Destination0, Destination1 |
| Flags that define the operation to use when combining the data | OperationOr, OperationXor, OperationAdd, OperationSubtractSource, OperationSubtractDestination, OperationMultiply, OperationDivideSource, OperationDivideDestination, OperationAverage, OperationMinimum, OperationMaximum |
| Flags that define treatment of the resulting image rectangle | ResultNot, Result0, Result1, SourceCopy |
Certain flags when combined have no meaning:
For more options, like specifying the color plane, use CombineCommand.
For more information, refer to Processing an Image.
The following example loads two images and combines them using an "AND" operation.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using LeadtoolsExamples.Common;public void CombineFastCommandExample(){RasterCodecs codecs = new RasterCodecs();string srcFileName1 = Path.Combine(ImagesPath.Path, "Image1.cmp");string srcFileName2 = Path.Combine(ImagesPath.Path, "Image2.cmp");string destFileName = Path.Combine(ImagesPath.Path, "CombineFastCommand.bmp");// Load the source images from diskRasterImage srcImage = codecs.Load(srcFileName1);RasterImage destImage = codecs.Load(srcFileName2);// Combine themCombineFastCommand command = new CombineFastCommand();// Specify a position in the destination imagecommand.DestinationRectangle = new LeadRect(destImage.Width / 8,destImage.Height / 8,destImage.Width,destImage.Height);command.SourcePoint = LeadPoint.Empty;command.DestinationImage = destImage;command.Flags = CombineFastCommandFlags.OperationAdd | CombineFastCommandFlags.Destination0;command.Run(srcImage);// Save it to diskcodecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24);// Clean UpdestImage.Dispose();srcImage.Dispose();codecs.Dispose();}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingPublic Sub CombineFastCommandExample()Dim codecs As RasterCodecs = New RasterCodecs()Dim srcFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")Dim srcFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image2.cmp")Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "CombineFastCommand.bmp")' Load the source images from diskDim srcImage As RasterImage = codecs.Load(srcFileName1)Dim destImage As RasterImage = codecs.Load(srcFileName2)' Combine themDim command As CombineFastCommand = New CombineFastCommand()' Specify a position in the destination imagecommand.DestinationRectangle = New LeadRect(destImage.Width \ 8, destImage.Height \ 8, destImage.Width, destImage.Height)command.SourcePoint = LeadPoint.Emptycommand.DestinationImage = destImagecommand.Flags = CombineFastCommandFlags.OperationAdd Or CombineFastCommandFlags.Destination0command.Run(srcImage)' Save it to diskcodecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24)' Clean UpdestImage.Dispose()srcImage.Dispose()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.Examples;using Leadtools.ImageProcessing;using Leadtools.Windows.Media;public void CombineFastCommandExample(RasterImage srcImage, RasterImage destImage, Stream destStream){RasterCodecs codecs = new RasterCodecs();// Combine themCombineFastCommand command = new CombineFastCommand();// Specify a position in the destination imagecommand.DestinationRectangle = new LeadRect(destImage.Width / 8,destImage.Height / 8,destImage.Width,destImage.Height);command.SourcePoint = LeadPoint.Empty;command.DestinationImage = destImage;command.Flags = CombineFastCommandFlags.OperationAdd | CombineFastCommandFlags.Destination0;command.Run(srcImage);// Save it to diskcodecs.Save(destImage, destStream, RasterImageFormat.Png, 24);// Clean UpdestImage.Dispose();srcImage.Dispose();}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.Windows.MediaPublic Sub CombineFastCommandExample(ByVal srcImage As RasterImage, ByVal destImage As RasterImage, ByVal destStream As Stream)Dim codecs As RasterCodecs = New RasterCodecs()' Combine themDim command As CombineFastCommand = New CombineFastCommand()' Specify a position in the destination imagecommand.DestinationRectangle = New LeadRect(destImage.Width / 8, destImage.Height / 8, destImage.Width, destImage.Height)command.SourcePoint = LeadPoint.Emptycommand.DestinationImage = destImagecommand.Flags = CombineFastCommandFlags.OperationAdd Or CombineFastCommandFlags.Destination0command.Run(srcImage)' Save it to diskcodecs.Save(destImage, destStream, RasterImageFormat.Png, 24)' Clean UpdestImage.Dispose()srcImage.Dispose()End Sub
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
