←Select platform

CombineCommand Constructor(RasterImage,LeadRect,LeadPoint,CombineCommandFlags)

Summary
Initializes a new CombineCommand class object with explicit parameters.
Syntax
C#
Objective-C
C++/CLI
Java
Python
- (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 
) 

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)) 
__init__(self,sourceImage,destinationRectangle,sourcePoint,flags) # Overloaded constructor 
Example

Run the CombineCommand on an image.

C#
Java
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")); 
} 
Requirements

Target Platforms

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

Leadtools.ImageProcessing.Effects Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.