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

BorderRemoveCommand Class

Example 





Members 
Removes the black borders in a 1-bit black and white image. This command is available in the Document/Medical Toolkits. .NET support WinRT support Silverlight support
Object Model
BorderRemoveCommand Class
Syntax
'Declaration
 
Public Class BorderRemoveCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As BorderRemoveCommand
public sealed class BorderRemoveCommand : Leadtools.ImageProcessing.IRasterCommand  
function Leadtools.ImageProcessing.Core.BorderRemoveCommand()
Remarks
Example
 
Public WithEvents borderRemoveCommandCallback As BorderRemoveCommand
Public Sub BorderRemoveCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

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

   ' Prepare the command
   borderRemoveCommandCallback = New BorderRemoveCommand
   borderRemoveCommandCallback.Border = BorderRemoveBorderFlags.All
   borderRemoveCommandCallback.Flags = BorderRemoveCommandFlags.UseVariance
   borderRemoveCommandCallback.Percent = 20
   borderRemoveCommandCallback.Variance = 3
   borderRemoveCommandCallback.WhiteNoiseLength = 9

   borderRemoveCommandCallback.Run(leadImage)

End Sub

Private Sub BorderRemoveCommand_BorderRemove_S1(ByVal sender As Object, ByVal e As BorderRemoveCommandEventArgs) Handles borderRemoveCommandCallback.BorderRemove
   Dim Border As String

   Select Case (e.Border)
      Case BorderRemoveBorderFlags.Top
         Border = "Top"

      Case BorderRemoveBorderFlags.Left
         Border = "Left"

      Case BorderRemoveBorderFlags.Right
         Border = "Right"

      Case BorderRemoveBorderFlags.Bottom
         Border = "Bottom"

      Case Else
         Border = ""
   End Select
   MessageBox.Show("Bounds ( " + Convert.ToString(e.BoundingRectangle.Left) + ", " + Convert.ToString(e.BoundingRectangle.Top) + ") - " + "( " + Convert.ToString(e.BoundingRectangle.Right) + ", " + Convert.ToString(e.BoundingRectangle.Bottom) + ")" + Chr(13) + " Border " + Border.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 BorderRemoveCommandExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"));

      // Prepare the command
      BorderRemoveCommand command = new BorderRemoveCommand();
      command.BorderRemove += new EventHandler<BorderRemoveCommandEventArgs>(command_BorderRemove_S1);
      command.Border = BorderRemoveBorderFlags.All;
      command.Flags = BorderRemoveCommandFlags.UseVariance;
      command.Percent = 20;
      command.Variance = 3;
      command.WhiteNoiseLength = 9;

      command.Run(image);

   }

   private void command_BorderRemove_S1(object sender, BorderRemoveCommandEventArgs e)
   {
      string Border;

      switch (e.Border)
      {
         case BorderRemoveBorderFlags.Top:
            Border = "Top";
            break;
         case BorderRemoveBorderFlags.Left:
            Border = "Left";
            break;
         case BorderRemoveBorderFlags.Right:
            Border = "Right";
            break;
         case BorderRemoveBorderFlags.Bottom:
            Border = "Bottom";
            break;
         default:
            Border = "";
            break;
      }
      MessageBox.Show("Bounds " + "( " + e.BoundingRectangle.Left + ", " + e.BoundingRectangle.Top + ") - " + "( " + e.BoundingRectangle.Right + ", " + e.BoundingRectangle.Bottom + ")" + "\n Border " + Border.ToString());
      e.Status = RemoveStatus.Remove;
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function BorderRemoveCommandExample() {
   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 BorderRemoveCommand();
         command.addEventListener("borderremove", command_BorderRemove_S1);
         command.border = BorderRemoveBorderFlags.all;
         command.flags = BorderRemoveCommandFlags.useVariance;
         command.percent = 20;
         command.variance = 3;
         command.whiteNoiseLength = 9;
         command.run(image);
      }
   });
}

function command_BorderRemove_S1(e) {
   var Border;

   with (Leadtools.ImageProcessing.Core) {
      switch (e.border) {
         case BorderRemoveBorderFlags.top:
            Border = "Top";
            break;
         case BorderRemoveBorderFlags.left:
            Border = "Left";
            break;
         case BorderRemoveBorderFlags.right:
            Border = "Right";
            break;
         case BorderRemoveBorderFlags.bottom:
            Border = "Bottom";
            break;
         default:
            Border = "";
            break;
      }
      console.error("Bounds " + "( " + e.boundingRectangle.x + ", " + e.boundingRectangle.y + ") - " + "( " + e.boundingRectangle.width + ", " + e.boundingRectangle.height + ")" + "\n Border " + Border.toString());
      e.status = RemoveStatus.remove;
   }
}
[TestMethod]
public async Task BorderRemoveCommandExample()
{
   // 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
   BorderRemoveCommand command = new BorderRemoveCommand();
   command.BorderRemove += new EventHandler<BorderRemoveCommandEventArgs>(command_BorderRemove_S1);
   command.Border = BorderRemoveBorderFlags.All;
   command.Flags = BorderRemoveCommandFlags.UseVariance;
   command.Percent = 20;
   command.Variance = 3;
   command.WhiteNoiseLength = 9;

   command.Run(image);

}

private void command_BorderRemove_S1(object sender, BorderRemoveCommandEventArgs e)
{
   string Border;

   switch (e.Border)
   {
      case BorderRemoveBorderFlags.Top:
         Border = "Top";
         break;
      case BorderRemoveBorderFlags.Left:
         Border = "Left";
         break;
      case BorderRemoveBorderFlags.Right:
         Border = "Right";
         break;
      case BorderRemoveBorderFlags.Bottom:
         Border = "Bottom";
         break;
      default:
         Border = "";
         break;
   }
   Debug.WriteLine("Bounds " + "( " + e.BoundingRectangle.X + ", " + e.BoundingRectangle.Y + ") - " + "( " + e.BoundingRectangle.Width + ", " + e.BoundingRectangle.Height + ")" + "\n Border " + Border.ToString());
   e.Status = RemoveStatus.Remove;
}
public void BorderRemoveCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   BorderRemoveCommand command = new BorderRemoveCommand();
   command.BorderRemove += new EventHandler<BorderRemoveCommandEventArgs>(command_BorderRemove_S1);
   command.Border = BorderRemoveBorderFlags.All;
   command.Flags = BorderRemoveCommandFlags.UseVariance;
   command.Percent = 20;
   command.Variance = 3;
   command.WhiteNoiseLength = 9;
   command.Run(image);

   // Save result image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1);
   image.Dispose();
}

private void command_BorderRemove_S1(object sender, BorderRemoveCommandEventArgs e)
{
   string Border;

   switch (e.Border)
   {
      case BorderRemoveBorderFlags.Top:
         Border = "Top";
         break;
      case BorderRemoveBorderFlags.Left:
         Border = "Left";
         break;
      case BorderRemoveBorderFlags.Right:
         Border = "Right";
         break;
      case BorderRemoveBorderFlags.Bottom:
         Border = "Bottom";
         break;
      default:
         Border = "";
         break;
   }
   Debug.WriteLine("Bounds " + "( " + e.BoundingRectangle.Left + ", " + e.BoundingRectangle.Top + ") - " + "( " + e.BoundingRectangle.Right + ", " + e.BoundingRectangle.Bottom + ")" + "\n Border " + Border.ToString());
   e.Status = RemoveStatus.Remove;
}
Public Sub BorderRemoveCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   Dim command As BorderRemoveCommand = New BorderRemoveCommand()
   AddHandler command.BorderRemove, AddressOf command_BorderRemove_S1
   command.Border = BorderRemoveBorderFlags.All
   command.Flags = BorderRemoveCommandFlags.UseVariance
   command.Percent = 20
   command.Variance = 3
   command.WhiteNoiseLength = 9
   command.Run(image)

   ' Save result image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1)
   image.Dispose()
End Sub

Private Sub command_BorderRemove_S1(ByVal sender As Object, ByVal e As BorderRemoveCommandEventArgs)
   Dim Border As String

   Select Case e.Border
      Case BorderRemoveBorderFlags.Top
         Border = "Top"
      Case BorderRemoveBorderFlags.Left
         Border = "Left"
      Case BorderRemoveBorderFlags.Right
         Border = "Right"
      Case BorderRemoveBorderFlags.Bottom
         Border = "Bottom"
      Case Else
         Border = ""
   End Select
   Debug.WriteLine("Bounds " & "( " & e.BoundingRectangle.Left & ", " & e.BoundingRectangle.Top & ") - " & _
                   "( " & e.BoundingRectangle.Right & ", " & e.BoundingRectangle.Bottom & ")" & Constants.vbLf & " Border " & Border.ToString())
   e.Status = RemoveStatus.Remove
End Sub
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

BorderRemoveCommand Members
Leadtools.ImageProcessing.Core Namespace
Cleaning Up 1-Bit Images
SmoothCommand Class
LineRemoveCommand Class
InvertedTextCommand Class
InvertedPageCommand Class
DotRemoveCommand Class
HolePunchRemoveCommand Class
HighQualityRotateCommand Class
MinimumCommand Class
MaximumCommand Class
Leadtools.ImageProcessing.Effects.RegionHolesRemovalCommand

 

 


Products | Support | Contact Us | Copyright Notices

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