LEADTOOLS Image Processing (Leadtools.ImageProcessing.Core assembly)
LEAD Technologies, Inc

HolePunchRemoveCommand Constructor(HolePunchRemoveCommandFlags,HolePunchRemoveCommandLocation,Int32,Int32,Int32,Int32,Int32,Int32)

Example 





Flags that determine the behavior of the hole punch removal process.
Flag that indicates the location within the document of the hole punches to remove.
Minimum number of holes to detect. This member is valid only if HolePunchRemoveCommandFlags.UseCount flag is set.
Maximum number of holes to detect. This member is valid only if HolePunchRemoveCommandFlags.UseCount flag is set.
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.
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.
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.
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.
Initializes a new HolePunchRemoveCommand with explicit parameters. .NET support WinRT support
Syntax
'Declaration
 
Public Function New( _
   ByVal flags As HolePunchRemoveCommandFlags, _
   ByVal location As HolePunchRemoveCommandLocation, _
   ByVal minimumHoleCount As Integer, _
   ByVal maximumHoleCount As Integer, _
   ByVal minimumHoleWidth As Integer, _
   ByVal minimumHoleHeight As Integer, _
   ByVal maximumHoleWidth As Integer, _
   ByVal maximumHoleHeight As Integer _
)
'Usage
 
Dim flags As HolePunchRemoveCommandFlags
Dim location As HolePunchRemoveCommandLocation
Dim minimumHoleCount As Integer
Dim maximumHoleCount As Integer
Dim minimumHoleWidth As Integer
Dim minimumHoleHeight As Integer
Dim maximumHoleWidth As Integer
Dim maximumHoleHeight As Integer
 
Dim instance As New HolePunchRemoveCommand(flags, location, minimumHoleCount, maximumHoleCount, minimumHoleWidth, minimumHoleHeight, maximumHoleWidth, maximumHoleHeight)
function HolePunchRemoveCommand( 
   flags ,
   location ,
   minimumHoleCount ,
   maximumHoleCount ,
   minimumHoleWidth ,
   minimumHoleHeight ,
   maximumHoleWidth ,
   maximumHoleHeight 
)

Parameters

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.
Example
 
Public WithEvents holePunchCommand_S2 As HolePunchRemoveCommand
Public Sub HolePunchRemoveConstructorExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"))

   ' Prepare the command
   holePunchCommand_S2 = New HolePunchRemoveCommand(HolePunchRemoveCommandFlags.UseDpi Or HolePunchRemoveCommandFlags.UseSize Or HolePunchRemoveCommandFlags.UseLocation Or HolePunchRemoveCommandFlags.SingleRegion, HolePunchRemoveCommandLocation.Left, 0, 0, 0, 0, leadImage.Width, leadImage.Height)
   holePunchCommand_S2.Run(leadImage)
   leadImage.SetRegion(Nothing, holePunchCommand_S2.Region, RasterRegionCombineMode.Set)

End Sub

Private Sub HolePunchCommand_HolePunchRemove_S2(ByVal sender As Object, ByVal e As HolePunchRemoveCommandEventArgs) Handles holePunchCommand_S2.HolePunchRemove
   MessageBox.Show("Size " + "( " + e.BoundingRectangle.Left.ToString() + ", " + e.BoundingRectangle.Top.ToString() + ") - " + "( " + e.BoundingRectangle.Right.ToString() + ", " + e.BoundingRectangle.Bottom.ToString() + ")" + _
      Chr(13) + " Hole Index " + e.HoleIndex.ToString() + _
      Chr(13) + " Holes Total Count " + e.HoleTotalCount.ToString() + _
      Chr(13) + " Black Count " + e.BlackCount.ToString() + _
      Chr(13) + " White Count " + e.WhiteCount.ToString())
   e.Status = RemoveStatus.Remove

End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
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:\Users\Public\Documents\LEADTOOLS Images";
}
function HolePunchRemoveConstructorExample()
{
   var codecs = new Leadtools.Codecs.RasterCodecs();
   codecs.throwExceptionsOnInvalidImages = true;

   // Load the image
   var srcFileName = "Assets\\clean.tif";
   return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
      return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile));
   }).then(function (image) {
      // Prepare the command
      with (Leadtools.ImageProcessing.Core) {
         var command = new HolePunchRemoveCommand(HolePunchRemoveCommandFlags.useDpi | HolePunchRemoveCommandFlags.useCount |HolePunchRemoveCommandFlags.useLocation | HolePunchRemoveCommandFlags.singleRegion, HolePunchRemoveCommandLocation.left, 2, 4, 0, 0, image.width, image.height);
         command.addEventListener("holepunchremove", HolePunchRemoveEvent_S2);
         command.run(image);
         image.setRegion(null, command.region, Leadtools.RasterRegionCombineMode.set);
      }
   });
}

function HolePunchRemoveEvent_S2(e)
{
   console.error("Size " + "( " + e.boundingRectangle.x + ", " + e.boundingRectangle.y + ") - " + "( " + e.boundingRectangle.width + ", " + e.boundingRectangle.height + ")" +
      "\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 = Leadtools.ImageProcessing.Core.RemoveStatus.remove;
}
[TestMethod]
public async Task HolePunchRemoveConstructorExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   // Load the image
   string srcFileName = @"Assets\Clean.tif";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // 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)
{
   Debug.WriteLine("Size " + "( " + e.BoundingRectangle.X + ", " + e.BoundingRectangle.Y + ") - " + "( " + e.BoundingRectangle.Width + ", " + e.BoundingRectangle.Height + ")" +
      "\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;
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

HolePunchRemoveCommand Class
HolePunchRemoveCommand Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.