←Select platform

BorderRemove Event

Summary
Handles border information that will be removed.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public event EventHandler<BorderRemoveCommandEventArgs> BorderRemove 
typedef void (^LTBorderRemoveCommandStatus)(LTRasterImage *image, LTBorderRemoveCommandEventArgs *args, LTRemoveStatus *status) 
 
- (BOOL)run:(LTRasterImage *)image 
   progress:(nullable LTRasterCommandProgress)progressHandler 
     status:(nullable LTBorderRemoveCommandStatus)borderRemoveStatus 
      error:(NSError **)error 
public void addBorderRemoveCommandListener(BorderRemoveCommandListener listener) 
public void removeBorderRemoveCommandListener(BorderRemoveCommandListener listener) 
public: 
event EventHandler<BorderRemoveCommandEventArgs^>^ BorderRemove 
def BorderRemove(sender,e): # sender: BorderRemoveCommand e: BorderRemoveCommandEventArgs 
Event Data

The event handler receives an argument of type BorderRemoveCommandEventArgs containing data related to this event. The following BorderRemoveCommandEventArgs properties provide information specific to this event.

PropertyDescription
Border Gets a flag that indicates which border is being processed.
Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
 
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:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.beans.EventHandler; 
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.*; 
import leadtools.imageprocessing.color.*; 
 
 
public void borderRemoveCommandExample() { 
 
   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 
   BorderRemoveCommand command = new BorderRemoveCommand(); 
   command.addBorderRemoveCommandListener(command_BorderRemove_S1); 
   command.setBorder(BorderRemoveBorderFlags.ALL.getValue()); 
   command.setFlags(BorderRemoveCommandFlags.USE_VARIANCE.getValue()); 
   command.setPercent(20); 
   command.setVariance(3); 
   command.setWhiteNoiseLength(9); 
 
   command.run(image); 
 
   System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "clean.tif")); 
   assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "clean.tif")).exists()); 
 
} 
 
BorderRemoveCommandListener command_BorderRemove_S1 = new BorderRemoveCommandListener() { 
 
   @Override 
   public void onBorderRemoveEvent(BorderRemoveCommandEvent e) { 
      String Border; 
 
      switch (e.getBorder()) { 
 
         // Top 
         case 0x00000004: 
            Border = "Top"; 
            break; 
 
         // Left 
         case 0x00000001: 
            Border = "Left"; 
            break; 
 
         // Right 
         case 0x00000002: 
            Border = "Right"; 
            break; 
 
         // Bottom 
         case 0x00000008: 
            Border = "Bottom"; 
            break; 
 
         default: 
            Border = ""; 
            break; 
 
      } 
 
      System.out.println("Bounds " + "( " + e.getBoundingRectangle().getLeft() + ", " 
            + e.getBoundingRectangle().getTop() + ") - " + "( " + e.getBoundingRectangle().getRight() + ", " 
            + e.getBoundingRectangle().getBottom() + ")" + "\n Border " + Border); 
      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.