←Select platform

HolePunchRemoveCommandEventArgs Constructor

Summary
Initializes a new HolePunchRemoveCommand class object with explicit parameters.
Syntax
C#
C++/CLI
Python
public: 
HolePunchRemoveCommandEventArgs(  
   RasterImage^ image, 
   RasterRegion^ region, 
   LeadRect boundingRectangle, 
   int holeIndex, 
   int holeTotalCount, 
   int whiteCount, 
   int blackCount 
) 

Parameters

image
RasterImage object that contains the affected image

region
LEADTOOLS RasterRegion representing one of the holes of the hole punch pattern. It is the programmer's responsibility to dispose of this region when it is no longer needed.

boundingRectangle
The bounding rectangle of one of the holes in a hole punch pattern.

holeIndex
Index of the hole within a hole punch pattern. The holes are numbered from 1 to n, where n is the total number of holes in the hole punch pattern.

holeTotalCount
The total number of holes that make up the hole punch pattern. This value will not change for a particular call to HolePunchRemoveCommand.

whiteCount
Total number of white pixels in one of the holes of a hole punch pattern.

blackCount
Total number of black pixels in one of the holes of a hole punch pattern.

Example

Run the HolePunchRemoveCommand on an image.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void HolePunchRemoveCommandEventArgsExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif")); 
 
   // Prepare the command 
   HolePunchRemoveCommand command = new HolePunchRemoveCommand(HolePunchRemoveCommandFlags.CallBackRegion | HolePunchRemoveCommandFlags.UseDpi | HolePunchRemoveCommandFlags.UseCount | HolePunchRemoveCommandFlags.UseLocation | 
         HolePunchRemoveCommandFlags.SingleRegion, HolePunchRemoveCommandLocation.Left, 2, 4, 0, 0, image.Width, image.Height); 
   command.HolePunchRemove += new EventHandler<HolePunchRemoveCommandEventArgs>(HolePunchRemoveEvent_S4); 
   command.Run(image); 
 
} 
 
private void HolePunchRemoveEvent_S4(object sender, HolePunchRemoveCommandEventArgs e) 
{ 
   HolePunchRemoveCommandEventArgs ee = new HolePunchRemoveCommandEventArgs(e.Image, e.Region, e.BoundingRectangle, e.HoleIndex, e.HoleTotalCount, e.WhiteCount, e.BlackCount); 
   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 HolePunchRemoveCommandEventArgsExample() { 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.setThrowExceptionsOnInvalidImages(true); 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "Clean.tif")); 
 
   // Prepare the command 
   HolePunchRemoveCommand command = new HolePunchRemoveCommand(HolePunchRemoveCommandFlags.CALLBACK_REGION.getValue() 
         | HolePunchRemoveCommandFlags.USE_DPI.getValue() | 
         HolePunchRemoveCommandFlags.USE_COUNT.getValue() | 
         HolePunchRemoveCommandFlags.USE_LOCATION.getValue() | 
         HolePunchRemoveCommandFlags.SINGLE_REGION.getValue(), 
         HolePunchRemoveCommandLocation.LEFT, 2, 4, 0, 0, image.getWidth(), 
         image.getHeight()); 
   assertTrue(command.getFlags() >= 0); 
   command.addHolePunchRemoveCommandListener(HolePunchRemoveEvent_S4); 
   command.run(image); 
} 
 
HolePunchRemoveCommandListener HolePunchRemoveEvent_S4 = new HolePunchRemoveCommandListener() { 
   @Override 
   public void onHolePunchRemoveEvent(HolePunchRemoveCommandEvent e) { 
      e.setStatus(RemoveStatus.REMOVE); 
   } 
}; 
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.