LEADTOOLS WCF Image Processing (Leadtools.Services.ImageProcessing.ServiceContracts assembly)
LEAD Technologies, Inc

LineRemove Method

Example 





A System.Runtime.Serialization.DataContractAttribute containing the data that will be used in this LineRemove operation.
Removes horizontal and vertical lines in a 1-bit black and white image. This operation is available in the Document/Medical Toolkits.
Syntax
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=false)]
[OperationContractAttribute("LineRemove")]
DocumentResponse LineRemove( 
   LineRemoveRequest request
)
'Declaration
 
<FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=False)>
<OperationContractAttribute("LineRemove")>
Function LineRemove( _
   ByVal request As LineRemoveRequest _
) As DocumentResponse
'Usage
 
Dim instance As IDocumentProcessingService
Dim request As LineRemoveRequest
Dim value As DocumentResponse
 
value = instance.LineRemove(request)
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=false)]
[OperationContractAttribute("LineRemove")]
DocumentResponse LineRemove( 
   LineRemoveRequest request
)
FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=)
OperationContractAttribute("LineRemove")
function Leadtools.Services.ImageProcessing.ServiceContracts.IDocumentProcessingService.LineRemove( 
   request 
)
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=false)]
[OperationContractAttribute("LineRemove")]
DocumentResponse^ LineRemove( 
   LineRemoveRequest^ request
) 

Parameters

request
A System.Runtime.Serialization.DataContractAttribute containing the data that will be used in this LineRemove operation.

Return Value

A System.Runtime.Serialization.DataContractAttribute containing the modified image resulting from the LineRemove operation.
Remarks
For more information, refer to Cleaning Up 1-Bit Images.
Example
 
Public Sub LineRemoveExample()
      Dim client As DocumentProcessingServiceClient = New DocumentProcessingServiceClient()
      Dim sourceBinaryData As RawBinaryData = New RawBinaryData()
      sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "clean.tif"))

      Dim convertOptions As RasterConvertOptions = New RasterConvertOptions()

      convertOptions.Source = sourceBinaryData
      convertOptions.Destination = Nothing
      convertOptions.Format = RasterImageFormat.Bmp
      convertOptions.FirstPage = 1
      convertOptions.LastPage = 1
      convertOptions.BitsPerPixel = 24
      convertOptions.QualityFactor = 2

      Dim request As LineRemoveRequest = New LineRemoveRequest()

      request.ConvertOptions = convertOptions
      request.RegionData = Nothing
      request.Flags = LineRemoveCommandFlags.UseGap Or LineRemoveCommandFlags.GetRegion
      request.MinimumLineLength = 200
      request.MaximumLineWidth = 5
      request.Wall = 7
      request.MaximumWallPercent = 10
      request.GapLength = 2
      request.Variance = 0
      request.Type = LineRemoveCommandType.Horizontal

      Dim response As DocumentResponse = client.LineRemove(request)
      If Not response.Destination Is Nothing Then
         If TypeOf response.Destination Is RawBinaryData Then
            File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "LineRemove.bmp"), (TryCast(response.Destination, RawBinaryData)).Data)
         End If
      End If

      If Not response.Region Is Nothing Then
         Dim bitmap As Bitmap = New Bitmap(Path.Combine(LEAD_VARS.ImagesDir, "LineRemove.bmp"))
         Dim graphics As Graphics = graphics.FromImage(bitmap)

         Dim region1 As Region = New Region()
         Dim regionData As RegionData = region1.GetRegionData()
         regionData.Data = response.Region.Data

         Dim region2 As Region = New Region(regionData)

         graphics.FillRegion(Brushes.Red, region2)

         bitmap.Save(Path.Combine(LEAD_VARS.ImagesDir, "LineRemoveRegion.bmp"))

         region2.Dispose()
         region1.Dispose()
         bitmap.Dispose()
         graphics.Dispose()
      End If

      client.Close()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void LineRemoveExample()
   {
      DocumentProcessingServiceClient client = new DocumentProcessingServiceClient();
      RawBinaryData sourceBinaryData = new RawBinaryData();
      sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "clean.tif"));

      RasterConvertOptions convertOptions = new RasterConvertOptions();

      convertOptions.Source = sourceBinaryData;
      convertOptions.Destination = null;
      convertOptions.Format = RasterImageFormat.Bmp;
      convertOptions.FirstPage = 1;
      convertOptions.LastPage = 1;
      convertOptions.BitsPerPixel = 24;
      convertOptions.QualityFactor = 2;

      LineRemoveRequest request = new LineRemoveRequest();

      request.ConvertOptions = convertOptions;
      request.RegionData = null;
      request.Flags = LineRemoveCommandFlags.UseGap | LineRemoveCommandFlags.GetRegion;
      request.MinimumLineLength = 200;
      request.MaximumLineWidth = 5;
      request.Wall = 7;
      request.MaximumWallPercent = 10;
      request.GapLength = 2;
      request.Variance = 0;
      request.Type = LineRemoveCommandType.Horizontal;

      DocumentResponse response = client.LineRemove(request);
      if (response.Destination != null)
      {
         if (response.Destination is RawBinaryData)
            File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir,"LineRemove.bmp"), (response.Destination as RawBinaryData).Data);
      }

      if (response.Region != null)
      {
         Bitmap bitmap = new Bitmap(Path.Combine(LEAD_VARS.ImagesDir,"LineRemove.bmp"));
         Graphics graphics = Graphics.FromImage(bitmap);

         Region region1 = new Region();
         RegionData regionData = region1.GetRegionData();
         regionData.Data = response.Region.Data;

         Region region2 = new Region(regionData);

         graphics.FillRegion(Brushes.Red, region2);

         bitmap.Save(LeadtoolsExamples.Common.ImagesPath.Path + "LineRemoveRegion.bmp");

         region2.Dispose();
         region1.Dispose();
         bitmap.Dispose();
         graphics.Dispose();
      }

      client.Close();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
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

IDocumentProcessingService Interface
IDocumentProcessingService Members

 

 


Products | Support | Contact Us | Copyright Notices

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

Applications developed with LEADTOOLS WCF components require runtime licenses. Server licensing is required for applications on a server. For more information, refer to: Imaging Pro/Document/Medical