public CombineCommand(
RasterImage sourceImage,
LeadRect destinationRectangle,
LeadPoint sourcePoint,
CombineCommandFlags flags
)
Public Function New( _
ByVal sourceImage As RasterImage, _
ByVal destinationRectangle As LeadRect, _
ByVal sourcePoint As LeadPoint, _
ByVal flags As CombineCommandFlags _
)
- (instancetype)initWithSourceImage:(LTRasterImage *)sourceImage
destinationRectangle:(LeadRect)destinationRectangle
sourcePoint:(LeadPoint)sourcePoint
flags:(LTCombineCommandFlags)flags
public CombineCommand(
RasterImage sourceImage,
LeadRect destinationRectangle,
LeadPoint sourcePoint,
int 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))
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:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Effects
Public Sub CombineConstructorExample()
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 tempImage As RasterImage = leadImage.Clone()
' the rectangle that represents the affected area of the destination image.
Dim rect As LeadRect = New LeadRect(CType((leadImage.Width / 8), Integer), CType((leadImage.Height / 8), Integer), leadImage.Width, leadImage.Height)
' The source point, which represents the source point of the source image which to being combining.
Dim srcPoint As LeadPoint = New LeadPoint(0, 0)
Dim command As CombineCommand = New CombineCommand(tempImage, rect, srcPoint, CombineCommandFlags.OperationAnd Or CombineCommandFlags.Destination1 Or CombineCommandFlags.SourceRed Or CombineCommandFlags.DestinationRed 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
c#[Silverlight C# Example]
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Effects;
using Leadtools.Examples;
public void CombineConstructorExample(RasterImage image, Stream outStream)
{
// Prepare the command
RasterImage tempImage = image.Clone();
LeadRect rect = new LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height);
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);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
}
vb[Silverlight VB Example]
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Effects
Public Sub CombineConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim tempImage As RasterImage = image.Clone()
Dim rect As LeadRect = New LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height)
Dim srcPoint As LeadPoint = New LeadPoint(0, 0)
Dim command As CombineCommand = New CombineCommand(tempImage, rect, srcPoint, CombineCommandFlags.OperationAnd Or CombineCommandFlags.Destination1 _
Or CombineCommandFlags.SourceRed Or CombineCommandFlags.DestinationRed 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
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