public class CombineFastCommand : RasterCommand
@interface LTCombineFastCommand : LTRasterCommand
public class CombineFastCommand extends RasterCommand
public ref class CombineFastCommand : public RasterCommand
class CombineFastCommand(RasterCommand):
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;
public void CombineFastCommandExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string srcFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Image2.cmp");
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "CombineFastCommand.bmp");
// Load the source images from disk
RasterImage srcImage = codecs.Load(srcFileName1);
RasterImage destImage = codecs.Load(srcFileName2);
// Combine them
CombineFastCommand command = new CombineFastCommand();
// Specify a position in the destination image
command.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 disk
codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24);
// Clean Up
destImage.Dispose();
srcImage.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.IOException;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.imageprocessing.*;
public void combineFastCommandExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
RasterCodecs codecs = new RasterCodecs();
String srcFileName1 = combine(LEAD_VARS_IMAGES_DIR, "image1.cmp");
String srcFileName2 = combine(LEAD_VARS_IMAGES_DIR, "image2.cmp");
String destFileName = combine(LEAD_VARS_IMAGES_DIR, "CombineFastCommand.bmp");
// Load the source images from disk
RasterImage srcImage = codecs.load(srcFileName1);
RasterImage destImage = codecs.load(srcFileName2);
// Combine them
CombineFastCommand command = new CombineFastCommand();
// Specify a position in the destination image
command.setDestinationRectangle(new LeadRect(destImage.getWidth() / 8, destImage.getHeight() / 8,
destImage.getWidth(), destImage.getHeight()));
command.setSourcePoint(LeadPoint.getEmpty());
command.setDestinationImage(destImage);
command.setFlags(
CombineFastCommandFlags.OPERATION_ADD.getValue() | CombineFastCommandFlags.DESTINATION_0.getValue());
command.run(srcImage);
// Save it to disk
codecs.save(destImage, destFileName, RasterImageFormat.BMP, 24);
assertTrue("file unsuccessfully saved to " + destFileName, (new File(destFileName)).exists());
System.out.printf("File saved successfully to %s%n", destFileName);
// Clean Up
destImage.dispose();
srcImage.dispose();
codecs.dispose();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document