←Select platform

CombineCommand Constructor(RasterImage,LeadRect,LeadPoint,CombineCommandFlags)

Summary

Initializes a new CombineCommand class object with explicit parameters.

Syntax
C#
VB
Objective-C
C++
Java
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 
) 

Parameters

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)) 

Example

Run the CombineCommand on an image.

C#
VB
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 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Effects Assembly