Leadtools.Services.ImageProcessing.ServiceContracts Requires Document/Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
Deskew Method
See Also  Example
Leadtools.Services.ImageProcessing.ServiceContracts Namespace > IDocumentProcessingService Interface : Deskew Method



request
A DataContractAttribute containing the data that will be used in this Deskew operation.
request
A DataContractAttribute containing the data that will be used in this Deskew operation.
Rotates the specified image to straighten it. This operation is typically used to automatically straighten scanned images. This operation is available in the Document\Medical Toolkits.

Syntax

Visual Basic (Declaration) 
<FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   HasProtectionLevel=False)>
<OperationContractAttribute("Deskew")>
Overridable Function Deskew( _
   ByVal request As DeskewRequest _
) As DeskewResponse
Visual Basic (Usage)Copy Code
Dim instance As IDocumentProcessingService
Dim request As DeskewRequest
Dim value As DeskewResponse
 
value = instance.Deskew(request)
C# 
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   HasProtectionLevel=false)]
[OperationContractAttribute("Deskew")]
virtual DeskewResponse Deskew( 
   DeskewRequest request
)
C++/CLI 
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   HasProtectionLevel=false)]
[OperationContractAttribute("Deskew")]
virtual DeskewResponse Deskew( 
   DeskewRequest request
) 

Parameters

request
A DataContractAttribute containing the data that will be used in this Deskew operation.

Return Value

A DataContractAttribute containing the modified image resulting from the Deskew operation.

Example

Visual BasicCopy Code
Public Sub DeskewExample()
   Dim client As DocumentProcessingServiceClient = New DocumentProcessingServiceClient()
   Dim sourceBinaryData As RawBinaryData = New RawBinaryData()
   sourceBinaryData.Data = File.ReadAllBytes(LeadtoolsExamples.Common.ImagesPath.Path & "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 DeskewRequest = New DeskewRequest()

   request.ConvertOptions = convertOptions
   request.RegionData = Nothing
   request.FillColor = "Red"
   request.Flags = DeskewCommandFlags.DeskewImage Or DeskewCommandFlags.DoNotFillExposedArea

   Dim response As CommandResponse = client.Deskew(request)
   If Not response.Destination Is Nothing Then
      If TypeOf response.Destination Is RawBinaryData Then
         File.WriteAllBytes(LeadtoolsExamples.Common.ImagesPath.Path & "Deskew.bmp", (TryCast(response.Destination, RawBinaryData)).Data)
      End If
   End If

   client.Close()
End Sub
C#Copy Code
public void DeskewExample() 

   DocumentProcessingServiceClient client = new DocumentProcessingServiceClient(); 
   RawBinaryData sourceBinaryData = new RawBinaryData(); 
   sourceBinaryData.Data = File.ReadAllBytes(LeadtoolsExamples.Common.ImagesPath.Path + "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; 
 
   DeskewRequest request = new DeskewRequest(); 
 
   request.ConvertOptions = convertOptions; 
   request.RegionData = null; 
   request.FillColor = "Red"; 
   request.Flags = DeskewCommandFlags.DeskewImage | DeskewCommandFlags.DoNotFillExposedArea; 
 
   CommandResponse response = client.Deskew(request); 
   if (response.Destination != null) 
   { 
      if (response.Destination is RawBinaryData) 
         File.WriteAllBytes(LeadtoolsExamples.Common.ImagesPath.Path + "Deskew.bmp", (response.Destination as RawBinaryData).Data); 
   } 
 
   client.Close(); 
}

Remarks

  • If the Flags property contains DeskewCommandFlagsDeskewCommandFlags.ReturnAngleOnly, the operation will update the Angle property without rotating the image.
  • The calculated rotation is limited to 20 degrees in either direction. This operation is intended for images, such as scanned documents, that are mainly horizontal lines of text. The results are less predictable with other types of images.
  • This operation includes an option to skip deskewing if the angle is very small.
  • This operation does not support 12 and 16-bit grayscale and 48 and 64-bit color images. If the image is 12 and 16-bit grayscale and 48 and 64-bit color, the operation will not throw an exception.
  • This operation does not support signed data images.
  • This operation does not support 32-bit grayscale images.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also

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 Features