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

DotRemoveCommandEventArgs Constructor (DotRemoveCommandEventArgs)

Example 





RasterImage object that references the image to be modified.
LEADTOOLS Leadtools.RasterRegion representing the dot to be removed. It is the programmer's responsibility to dispose of this region when it is no longer needed.
The bounding rectangle of the dot being processed.
Total number of white pixels in the dot being processed.
Total number of black pixels in the dot being processed.
Initializes a new DotRemoveCommand with explicit parameters. .NET support WinRT support Silverlight support
Syntax
public DotRemoveCommandEventArgs( 
   RasterImage image,
   RasterRegion region,
   LeadRect boundingRectangle,
   int whiteCount,
   int blackCount
)
'Declaration
 
Public Function New( _
   ByVal image As RasterImage, _
   ByVal region As RasterRegion, _
   ByVal boundingRectangle As LeadRect, _
   ByVal whiteCount As Integer, _
   ByVal blackCount As Integer _
)
'Usage
 
Dim image As RasterImage
Dim region As RasterRegion
Dim boundingRectangle As LeadRect
Dim whiteCount As Integer
Dim blackCount As Integer
 
Dim instance As New DotRemoveCommandEventArgs(image, region, boundingRectangle, whiteCount, blackCount)
public DotRemoveCommandEventArgs( 
   RasterImage image,
   RasterRegion region,
   LeadRect boundingRectangle,
   int whiteCount,
   int blackCount
)
function DotRemoveCommandEventArgs( 
   image ,
   region ,
   boundingRectangle ,
   whiteCount ,
   blackCount 
)
public:
DotRemoveCommandEventArgs( 
   RasterImage^ image,
   RasterRegion^ region,
   LeadRect boundingRectangle,
   int whiteCount,
   int blackCount
)

Parameters

image
RasterImage object that references the image to be modified.
region
LEADTOOLS Leadtools.RasterRegion representing the dot to be removed. It is the programmer's responsibility to dispose of this region when it is no longer needed.
boundingRectangle
The bounding rectangle of the dot being processed.
whiteCount
Total number of white pixels in the dot being processed.
blackCount
Total number of black pixels in the dot being processed.
Example
 
Public WithEvents dotRemoveCommandCallback_S4 As DotRemoveCommand
Public Sub DotRemoveCommandEventArgsExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

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

   ' Prepare the command
   dotRemoveCommandCallback_S4 = New DotRemoveCommand(DotRemoveCommandFlags.UseSize Or DotRemoveCommandFlags.CallBackRegion, 1, 1, 10, 10)
   dotRemoveCommandCallback_S4.Run(leadImage)

End Sub

Private Sub DotRemoveCommand_DotRemove_S4(ByVal sender As Object, ByVal e As DotRemoveCommandEventArgs) Handles dotRemoveCommandCallback_S4.DotRemove
   Dim ee As DotRemoveCommandEventArgs = New DotRemoveCommandEventArgs(e.Image, e.Region, e.BoundingRectangle, e.WhiteCount, e.BlackCount)
   'Do not remove the speck if it contains any white pixels
   If (e.WhiteCount > 0) Then
      e.Status = RemoveStatus.NoRemove
   Else
      e.Status = RemoveStatus.Remove
   End If

   If Not (e.Region Is Nothing) Then
      e.Image.SetRegion(Nothing, e.Region, RasterRegionCombineMode.AndNotRegion)
   End If
End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void DotRemoveCommandEventArgsExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

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

      // Prepare the command
      DotRemoveCommand command = new DotRemoveCommand(DotRemoveCommandFlags.UseSize | DotRemoveCommandFlags.CallBackRegion, 1, 1, 10, 10);
      command.DotRemove += new EventHandler<DotRemoveCommandEventArgs>(DotRemoveEvent_S4);
      command.Run(image);

   }

   private void DotRemoveEvent_S4(object sender, DotRemoveCommandEventArgs e)
   {
      DotRemoveCommandEventArgs ee = new DotRemoveCommandEventArgs(e.Image, e.Region, e.BoundingRectangle, e.WhiteCount, e.BlackCount);
      // Do not remove the speck if it contains any white pixels
      if (e.WhiteCount > 0) 
      {
         e.Status= RemoveStatus.NoRemove;
      }
      else 
      {
         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:\Users\Public\Documents\LEADTOOLS Images";
}
function DotRemoveCommandEventArgsExample() {
   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 DotRemoveCommand(DotRemoveCommandFlags.useSize | DotRemoveCommandFlags.callBackRegion, 1, 1, 10, 10);
         command.addEventListener("dotremove", DotRemoveEvent_S4);
         command.run(image);
      }
   });
}

function DotRemoveEvent_S4(e) {

   with (Leadtools.ImageProcessing.Core) {
      var ee = new DotRemoveCommandEventArgs(e.image, e.region, e.boundingRectangle, e.whiteCount, e.blackCount);
      // Do not remove the speck if it contains any white pixels
      if (e.whiteCount > 0) {
         e.status = RemoveStatus.noRemove;
      }
      else {
         e.status = RemoveStatus.remove;
      }

      if (e.region != null) {
         e.image.setRegion(null, e.region, Leadtools.RasterRegionCombineMode.andNotRegion);
      }
   }
}
[TestMethod]
public async Task DotRemoveCommandEventArgsExample()
{
   // 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
   DotRemoveCommand command = new DotRemoveCommand(DotRemoveCommandFlags.UseSize | DotRemoveCommandFlags.CallBackRegion, 1, 1, 10, 10);
   command.DotRemove += new EventHandler<DotRemoveCommandEventArgs>(DotRemoveEvent_S4);
   command.Run(image);

}

private void DotRemoveEvent_S4(object sender, DotRemoveCommandEventArgs e)
{
   DotRemoveCommandEventArgs ee = new DotRemoveCommandEventArgs(e.Image, e.Region, e.BoundingRectangle, e.WhiteCount, e.BlackCount);
   // Do not remove the speck if it contains any white pixels
   if (e.WhiteCount > 0) 
   {
      e.Status= RemoveStatus.NoRemove;
   }
   else 
   {
      e.Status= RemoveStatus.Remove;
   }

   if(e.Region != null)
   {
      e.Image.SetRegion(null, e.Region, RasterRegionCombineMode.AndNotRegion);
   }
}
public void DotRemoveCommandEventArgsExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   DotRemoveCommand command = new DotRemoveCommand(DotRemoveCommandFlags.UseSize | DotRemoveCommandFlags.CallBackRegion, 1, 1, 10, 10);
   command.DotRemove += new EventHandler<DotRemoveCommandEventArgs>(DotRemoveEvent_S4);
   command.Run(image);
   // Save result image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1);
   image.Dispose();
}

private void DotRemoveEvent_S4(object sender, DotRemoveCommandEventArgs e)
{
   DotRemoveCommandEventArgs ee = new DotRemoveCommandEventArgs(e.Image,null, e.BoundingRectangle, e.WhiteCount, e.BlackCount);
   // Do not remove the speck if it contains any white pixels
   if (e.WhiteCount > 0) 
   {
      e.Status= RemoveStatus.NoRemove;
   }
   else 
   {
      e.Status= RemoveStatus.Remove;
   }
}
Public Sub DotRemoveCommandEventArgsExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   Dim command As DotRemoveCommand = New DotRemoveCommand(DotRemoveCommandFlags.UseSize Or DotRemoveCommandFlags.CallBackRegion, 1, 1, 10, 10)
   AddHandler command.DotRemove, AddressOf DotRemoveEvent_S4
   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 DotRemoveEvent_S4(ByVal sender As Object, ByVal e As DotRemoveCommandEventArgs)
   Dim ee As DotRemoveCommandEventArgs = New DotRemoveCommandEventArgs(e.Image,Nothing, e.BoundingRectangle, e.WhiteCount, e.BlackCount)
   ' Do not remove the speck if it contains any white pixels
   If e.WhiteCount > 0 Then
      e.Status= RemoveStatus.NoRemove
   Else
      e.Status= RemoveStatus.Remove
   End If
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

DotRemoveCommandEventArgs Class
DotRemoveCommandEventArgs Members

 

 


Products | Support | Contact Us | Copyright Notices

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