←Select platform

DotRemoveCommandEventArgs Constructor

Summary
Initializes a new DotRemoveCommand with explicit parameters.
Syntax
C#
C++/CLI
Java
Python
public DotRemoveCommandEvent( 
   Object source,  
   RasterImage image,  
   RasterRegion region,  
   LeadRect boundingRectangle,  
   int whiteCount,  
   int blackCount 
) 
public: 
DotRemoveCommandEventArgs(  
   RasterImage^ image, 
   RasterRegion^ region, 
   LeadRect boundingRectangle, 
   int whiteCount, 
   int blackCount 
) 
__init__(self,image,region,boundingRectangle,whiteCount,blackCount) # Overloaded constructor 

Parameters

image
RasterImage object that references the image to be modified.

region
LEADTOOLS RasterRegion representing the dot to be removed. It is the programmer's responsibility to dispose of this region when it is no longer needed.

boundingRectangle
The bounding rectangle of the dot being processed.

whiteCount
Total number of white pixels in the dot being processed.

blackCount
Total number of black pixels in the dot being processed.

Example

Run the DotRemoveCommand on an image.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void DotRemoveCommandEventArgsExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif")); 
 
   // Prepare the command 
   DotRemoveCommand command = new DotRemoveCommand(DotRemoveCommandFlags.UseSize | DotRemoveCommandFlags.CallBackRegion, 1, 1, 10, 10); 
   command.DotRemove += new EventHandler<DotRemoveCommandEventArgs>(DotRemoveEvent_S4); 
   command.Run(image); 
 
} 
 
private void DotRemoveEvent_S4(object sender, DotRemoveCommandEventArgs e) 
{ 
   DotRemoveCommandEventArgs ee = new DotRemoveCommandEventArgs(e.Image, e.Region, e.BoundingRectangle, e.WhiteCount, e.BlackCount); 
   // Do not remove the speck if it contains any white pixels 
   if (e.WhiteCount > 0) 
   { 
      e.Status = RemoveStatus.NoRemove; 
   } 
   else 
   { 
      e.Status = RemoveStatus.Remove; 
   } 
 
   if (e.Region != null) 
   { 
      e.Image.SetRegion(null, e.Region, RasterRegionCombineMode.AndNotRegion); 
   } 
} 
 
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.core.*; 
 
 
public void dotRemoveCommandEventArgsExample() { 
   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, "Clean.tif")); 
   String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "LEAD_dotRemoveExample.jpg"); 
 
   // Prepare the command 
   DotRemoveCommand command = new DotRemoveCommand( 
         DotRemoveCommandFlags.USE_SIZE.getValue() | DotRemoveCommandFlags.CALLBACK_REGION.getValue(), 1, 1, 10, 10); 
   assertTrue(command.getMaximumDotHeight() == 10 && command.getMaximumDotWidth() == 10 
         && command.getMinimumDotHeight() == 1 && command.getMinimumDotWidth() == 1); 
   command.addDotRemoveCommandListener(dotRemoveEvent_S4); 
   command.run(image); 
   System.out.println("Executed changes on loaded image..."); 
 
   codecs.save(image, outputFileName, RasterImageFormat.JPEG, 8); 
   System.out.println("Saved updated file to:\n" + outputFileName); 
   assertTrue(new File(outputFileName).exists()); 
} 
 
DotRemoveCommandListener dotRemoveEvent_S4 = new DotRemoveCommandListener() { 
   @Override 
   public void onDotRemoveEvent(DotRemoveCommandEvent e) { 
      DotRemoveCommandEvent removeCommand = new DotRemoveCommandEvent(e, e.getImage(), e.getRegion(), 
            e.getBoundingRectangle(), 
            e.getWhiteCount(), e.getBlackCount()); 
      // Do not remove the speck if it contains any white pixels 
      if (e.getWhiteCount() > 0) { 
         e.setStatus(RemoveStatus.NO_REMOVE); 
      } else { 
         e.setStatus(RemoveStatus.REMOVE); 
      } 
 
      if (e.getRegion() != null) { 
         e.getImage().setRegion(null, e.getRegion(), RasterRegionCombineMode.AND_NOT_REGION); 
      } 
   } 
 
}; 
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.Core Assembly

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