←Select platform

ImageRegion Property

Summary

This property is updated with a shallow copy of the image that also has a region that contains the removed dots.

Syntax
C#
VB
Objective-C
C++
Java
public RasterImage ImageRegion { get; } 
Public ReadOnly Property ImageRegion As RasterImage 
@property (nonatomic, strong, readonly, nullable) LTRasterImage *imageRegion 
public RasterImage getImageRegion() 
public: 
property RasterImage^ ImageRegion { 
   RasterImage^ get(); 
} 

Property Value

A shallow copy of the image that also has a region that contains the removed dots.

Remarks

If DotRemoveCommandFlags.SingleRegion| DotRemoveCommandFlags.LeadRegion has been set in Flags, then when DotRemoveCommand returns, this property is updated with a shallow copy of the image that also has a region that contains the removed dots. So set Flags to (DotRemoveCommandFlags.SingleRegion| DotRemoveCommandFlags.LeadRegion). It is the programmer's responsibility to dispose of the region when it is no longer needed.

Example

Run the DotRemoveCommand on an image.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ImageRegionPropertyExample() 
{ 
   // 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(); 
   command.DotRemove += new EventHandler<DotRemoveCommandEventArgs>(DotRemoveEvent_S3); 
   command.Flags = DotRemoveCommandFlags.UseSize | DotRemoveCommandFlags.SingleRegion | DotRemoveCommandFlags.LeadRegion; 
   command.MaximumDotHeight = 10; 
   command.MaximumDotWidth = 10; 
   command.MinimumDotHeight = 1; 
   command.MinimumDotWidth = 1; 
 
   command.Run(image); 
 
} 
 
private void DotRemoveEvent_S3(object sender, DotRemoveCommandEventArgs e) 
{ 
   // Do not remove the speck if it contains any white pixels 
   if (e.WhiteCount > 0) 
   { 
      e.Status = RemoveStatus.NoRemove; 
   } 
   else 
   { 
      e.Status = RemoveStatus.Remove; 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
Public WithEvents dotRemoveCommandCallback_S3 As DotRemoveCommand 
Public Sub ImageRegionPropertyExample() 
   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_S3 = New DotRemoveCommand 
   dotRemoveCommandCallback_S3.Flags = DotRemoveCommandFlags.UseSize Or DotRemoveCommandFlags.SingleRegion Or DotRemoveCommandFlags.LeadRegion 
   dotRemoveCommandCallback_S3.MaximumDotHeight = 10 
   dotRemoveCommandCallback_S3.MaximumDotWidth = 10 
   dotRemoveCommandCallback_S3.MinimumDotHeight = 1 
   dotRemoveCommandCallback_S3.MinimumDotWidth = 1 
   dotRemoveCommandCallback_S3.Run(leadImage) 
 
End Sub 
 
Private Sub DotRemoveCommand_DotRemove_S3(ByVal sender As Object, ByVal e As DotRemoveCommandEventArgs) Handles dotRemoveCommandCallback_S3.DotRemove 
   ' 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 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Examples; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ImageRegionPropertyExample(RasterImage image, Stream outStream) 
{ 
   // Prepare the command 
   DotRemoveCommand command = new DotRemoveCommand(); 
   command.DotRemove += new EventHandler<DotRemoveCommandEventArgs>(DotRemoveEvent_S3); 
   command.Flags = DotRemoveCommandFlags.UseSize | DotRemoveCommandFlags.SingleRegion | DotRemoveCommandFlags.LeadRegion; 
   command.MaximumDotHeight = 10; 
   command.MaximumDotWidth = 10; 
   command.MinimumDotHeight = 1; 
   command.MinimumDotWidth = 1; 
 
   command.Run(image); 
 
   // Save result image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1); 
   image.Dispose(); 
} 
 
private void DotRemoveEvent_S3(object sender, DotRemoveCommandEventArgs e) 
{ 
   // Do not remove the speck if it contains any white pixels 
   if (e.WhiteCount > 0) 
   { 
      e.Status = RemoveStatus.NoRemove; 
   } 
   else 
   { 
      e.Status = RemoveStatus.Remove; 
   } 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
Public Sub ImageRegionPropertyExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   Dim command As DotRemoveCommand = New DotRemoveCommand() 
   AddHandler command.DotRemove, AddressOf DotRemoveEvent_S3 
   command.Flags = DotRemoveCommandFlags.UseSize Or DotRemoveCommandFlags.SingleRegion Or DotRemoveCommandFlags.LeadRegion 
   command.MaximumDotHeight = 10 
   command.MaximumDotWidth = 10 
   command.MinimumDotHeight = 1 
   command.MinimumDotWidth = 1 
 
   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_S3(ByVal sender As Object, ByVal e As DotRemoveCommandEventArgs) 
   ' 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

Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Core Assembly