public HolePunchRemoveCommand(
HolePunchRemoveCommandFlags flags,
HolePunchRemoveCommandLocation location,
int minimumHoleCount,
int maximumHoleCount,
int minimumHoleWidth,
int minimumHoleHeight,
int maximumHoleWidth,
int maximumHoleHeight
)
public:
HolePunchRemoveCommand(
HolePunchRemoveCommandFlags flags,
HolePunchRemoveCommandLocation location,
int minimumHoleCount,
int maximumHoleCount,
int minimumHoleWidth,
int minimumHoleHeight,
int maximumHoleWidth,
int maximumHoleHeight
)
__init__(self,flags,location,minimumHoleCount,maximumHoleCount,minimumHoleWidth,minimumHoleHeight,maximumHoleWidth,maximumHoleHeight) # Overloaded constructor
flags
Flags that determine the behavior of the hole punch removal process.
location
Flag that indicates the location within the document of the hole punches to remove.
minimumHoleCount
Minimum number of holes to detect. This member is valid only if HolePunchRemoveCommandFlags.UseCount flag is set.
maximumHoleCount
Maximum number of holes to detect. This member is valid only if HolePunchRemoveCommandFlags.UseCount flag is set.
minimumHoleWidth
The minimum width of one of the holes of the hole punch configuration to be removed. If HolePunchRemoveCommandFlags.UseDpi flag is set, units are in thousandths of an inch, otherwise units are in pixels. This parameter is valid only if HolePunchRemoveCommandFlags.UseSize is set.
minimumHoleHeight
The minimum height of one of the holes of the hole punch configuration to be removed. If HolePunchRemoveCommandFlags.UseDpi flag is set, units are in thousandths of an inch, otherwise units are in pixels. This parameter is valid only if HolePunchRemoveCommandFlags.UseSize is set.
maximumHoleWidth
The maximum width of one of the holes of the hole punch configuration to be removed. If HolePunchRemoveCommandFlags.UseDpi flag is set, units are in thousandths of an inch, otherwise units are in pixels. This parameter is valid only if HolePunchRemoveCommandFlags.UseSize is set.
maximumHoleHeight
The maximum height of one of the holes of the hole punch configuration to be removed. If HolePunchRemoveCommandFlags.UseDpi flag is set, units are in thousandths of an inch, otherwise units are in pixels. This parameter is valid only if HolePunchRemoveCommandFlags.UseSize is set.
Run the HolePunchRemoveCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void HolePunchRemoveConstructorExample()
{
// 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.UseDpi | HolePunchRemoveCommandFlags.UseCount | HolePunchRemoveCommandFlags.UseLocation | HolePunchRemoveCommandFlags.SingleRegion,
HolePunchRemoveCommandLocation.Left, 2, 4, 0, 0, image.Width, image.Height);
command.HolePunchRemove += new EventHandler<HolePunchRemoveCommandEventArgs>(HolePunchRemoveEvent_S2);
command.Run(image);
image.SetRegion(null, command.Region, RasterRegionCombineMode.Set);
}
private void HolePunchRemoveEvent_S2(object sender, HolePunchRemoveCommandEventArgs e)
{
MessageBox.Show("Size " + "( " + e.BoundingRectangle.Left + ", " + e.BoundingRectangle.Top + ") - " + "( " + e.BoundingRectangle.Right + ", " + e.BoundingRectangle.Bottom + ")" +
"\n Hole Index " + e.HoleIndex.ToString() +
"\n Holes Total Count " + e.HoleTotalCount.ToString() +
"\n Black Count " + e.BlackCount.ToString() +
"\n White Count " + e.WhiteCount.ToString());
e.Status = RemoveStatus.Remove;
}
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 holePunchRemoveConstructorExample() {
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"), 1, CodecsLoadByteOrder.BGR, 1, 1);
// Prepare the command
HolePunchRemoveCommand command = new HolePunchRemoveCommand(
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);
assertTrue(command.getLocation() == HolePunchRemoveCommandLocation.LEFT);
command.addHolePunchRemoveCommandListener(holePunchRemoveEvent_S2);
command.run(image);
image.setRegion(null, command.getRegion(), RasterRegionCombineMode.SET);
assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")).exists());
System.out.println("Command run and image exported to: " + combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"));
}
HolePunchRemoveCommandListener holePunchRemoveEvent_S2 = new HolePunchRemoveCommandListener() {
@Override
public void onHolePunchRemoveEvent(HolePunchRemoveCommandEvent e) {
System.out
.println("Size " + "( " + e.getBoundingRectangle().getLeft() + ", " + e.getBoundingRectangle().getTop()
+ ") - " + "( " + e.getBoundingRectangle().getRight() + ", " + e.getBoundingRectangle().getBottom()
+ ")" + "\n Hole Index " + e.getHoleIndex() + "\n Holes Total Count " + e.getHoleTotalCount()
+ "\n Black Count " + e.getBlackCount() + "\n White Count " + e.getWhiteCount());
e.setStatus(RemoveStatus.REMOVE);
}
};
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