public CombineCommand(
RasterImage sourceImage,
LeadRect destinationRectangle,
LeadPoint sourcePoint,
CombineCommandFlags flags
)
- (instancetype)initWithSourceImage:(nullable LTRasterImage *)sourceImage destinationRectangle:(LeadRect)destinationRectangle sourcePoint:(LeadPoint)sourcePoint flags:(LTCombineCommandFlags)flags NS_DESIGNATED_INITIALIZER;
public CombineCommand(
RasterImage sourceImage,
LeadRect destinationRectangle,
LeadPoint sourcePoint,
int flags
)
public:
CombineCommand(
RasterImage^ sourceImage,
LeadRect destinationRectangle,
LeadPoint sourcePoint,
CombineCommandFlags flags
)
sourceImage
RasterImage object that references the source image, which is combined with the destination image.
destinationRectangle
LeadRect structure that contains the destination rectangle.
sourcePoint
LeadPoint structure that contains the origin of the source rectangle. The width and height of the source rectangle are the same as the destination rectangle.
flags
Flags from seven groups that define treatment of the source, treatment of the destination, the operation to use when combining the data, treatment of the resulting image, and the color plane for the destination, source and resulting images. The flags apply only to the defined rectangles (not necessarily the whole image). You can use a bitwise OR ( ¦ ) to specify one flag from each group.
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))
__init__(self,sourceImage,destinationRectangle,sourcePoint,flags) # Overloaded constructor
Run the CombineCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Effects;
public void CombineConstructorExample()
{
// 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
RasterImage tempImage = image.Clone();
// the rectangle that represents the affected area of the destination image.
LeadRect rect = 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 to be combined.
LeadPoint srcPoint = new LeadPoint(0, 0);
CombineCommand command = new CombineCommand(tempImage, rect, srcPoint, CombineCommandFlags.OperationAnd | CombineCommandFlags.Destination1 | CombineCommandFlags.SourceRed | CombineCommandFlags.DestinationRed | 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:\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.effects.*;
public void combineConstructorExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.setThrowExceptionsOnInvalidImages(true);
RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "Image2.cmp"));
// Prepare the command
RasterImage tempImage = image.clone();
// the rectangle that represents the affected area of the destination image
LeadRect rect = new LeadRect(image.getWidth() / 8, image.getHeight() / 8, image.getWidth(), image.getHeight());
// the source point, which represents the source point of the source image which
// is to be combined
LeadPoint srcPoint = new LeadPoint(0, 0);
CombineCommand command = new CombineCommand(tempImage, rect, srcPoint,
CombineCommandFlags.OPERATION_AND.getValue() | CombineCommandFlags.DESTINATION1.getValue()
| CombineCommandFlags.SOURCE_RED.getValue() | CombineCommandFlags.DESTINATION_RED.getValue()
| CombineCommandFlags.RESULT_BLUE.getValue());
int change = command.run(image);
assertTrue(change != RasterImageChangedFlags.NONE);
codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"), RasterImageFormat.JPEG, 24);
System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"));
}
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