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

InvertedText Method

Example 





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

Parameters

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

Return Value

A System.Runtime.Serialization.DataContractAttribute containing the modified image resulting from the InvertedText operation.
Remarks
For more information, refer to Cleaning Up 1-Bit Images.
Example
 
Public Sub InvertedTextExample()
      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 InvertedTextRequest = New InvertedTextRequest()

      request.ConvertOptions = convertOptions
      request.RegionData = Nothing
      request.Flags = InvertedTextCommandFlags.UseDpi Or InvertedTextCommandFlags.GetRegion
      request.MinimumInvertWidth = 5000
      request.MinimumInvertHeight = 500
      request.MinimumBlackPercent = 70
      request.MaximumBlackPercent = 95

      Dim response As DocumentResponse = client.InvertedText(request)
      If Not response.Destination Is Nothing Then
         If TypeOf response.Destination Is RawBinaryData Then
            File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "InvertedText.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, "InvertedText.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, "InvertedTextRegion.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 InvertedTextExample()
   {
      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;

      InvertedTextRequest request = new InvertedTextRequest();

      request.ConvertOptions = convertOptions;
      request.RegionData = null;
      request.Flags = InvertedTextCommandFlags.UseDpi | InvertedTextCommandFlags.GetRegion;
      request.MinimumInvertWidth = 5000;
      request.MinimumInvertHeight = 500;
      request.MinimumBlackPercent = 70;
      request.MaximumBlackPercent = 95;

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

      if (response.Region != null)
      {
         Bitmap bitmap = new Bitmap(Path.Combine(LEAD_VARS.ImagesDir, "InvertedText.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(Path.Combine(LEAD_VARS.ImagesDir, "InvertedTextRegion.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