←Select platform

FindFastConfiguration Method

Summary

(Document/Medical only) Determines the best scanner configuration.

Syntax

C#
VB
C++

Parameters

workingFolder
The path to the working folder in which to save the tested images.

flags
Indicates whether to display the manufacturer's user interface. For a list of possible values, refer to the UserInterfaceConstants enumeration Flags that control the display of the user interface and the actions of the method.

bitsPerPixel
The resulting file's pixel depth.

Note that not all bits per pixel are available to all file formats. Use 0 for bitsPerPixel to store the file using the closest BitsPerPixel value supported by that format.

bufferIteration
The number of memory configurations that will be tested. The maximum value for this parameter is 10.

userConfigurations
The configurations to be tested.

Return Value

A TwainFindFastConfigurationResult which represents the best and fastest configuration for the test TWAIN source.

Remarks

This method will test scan configurations for the scanner selected using the SelectSource method. Using the fastest scan configuration, scans images as quickly as possible. To test user-defined or custom configurations, pass an array of TwainFastConfiguration objects to the

userConfigurations*
The configurations to be tested. To test the default configurations available for the TWAIN driver, pass null for the
userConfigurations*
The configurations to be tested. If TwainFastUserInterfaceFlags.CheckDefaultBitsPerPixel is set in
flags*
Indicates whether to display the manufacturer's user interface. For a list of possible values, refer to the UserInterfaceConstants enumeration Flags that control the display of the user interface and the actions of the method. If TwainFastUserInterfaceFlags.UseThread is set in
flags*
Indicates whether to display the manufacturer's user interface. For a list of possible values, refer to the UserInterfaceConstants enumeration Flags that control the display of the user interface and the actions of the method. The
bitsPerPixel*
The resulting file's pixel depth. .The buffer iteration value determines the buffer sizes to be tested. The purpose for testing the memory transfer mode with different buffer sizes is to determine the buffer size that will provide the fastest scan configuration. The buffer iteration specifies the number of buffer sizes that will be tested. The buffer size is the size of the transferred data from the TWAIN source. To stop the scan configuration testing process, set the Stop property to true within the FastConfiguration event. The Stop property must be set to false to continue the scan configuration process. For more information, refer to Fast TWAIN (Scan Configurations). This function shows some helper message boxes while it is running for guiding the user through the running tests. If you wish to suppress these messages then pass TwainFastUserInterfaceFlags.SuppressMessageBoxes flag and these messages will stop showing up.

Example

C#
VB
Imports Leadtools 
Imports Leadtools.Twain 
 
Public Sub twain_FastConfiguration(ByVal sender As Object, ByVal e As TwainFastConfigurationEventArgs) 
   ' ... set your code here 
   e.Stop = False 
End Sub 
 
Public Sub FindFastConfigurationExample(ByVal parent As IntPtr) 
   Dim session As TwainSession = New TwainSession() 
   session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None) 
 
   session.EnableFastConfigurationEvent = True 
   AddHandler session.FastConfiguration, AddressOf twain_FastConfiguration 
 
   Dim twFastConfig As RasterCollection(Of TwainFastConfiguration) = Nothing 
   Dim tempFastConfig As TwainFastConfiguration = New TwainFastConfiguration() 
   tempFastConfig = TwainFastConfiguration.Default 
 
   tempFastConfig.TransferMechanism = TwainTransferMode.File 
   tempFastConfig.ImageFormat = Leadtools.RasterImageFormat.Bmp 
   tempFastConfig.BitsPerPixel = 1 
   twFastConfig.Add(tempFastConfig) 
 
   tempFastConfig.TransferMechanism = TwainTransferMode.File 
   tempFastConfig.ImageFormat = Leadtools.RasterImageFormat.Tif 
   tempFastConfig.BitsPerPixel = 1 
   twFastConfig.Add(tempFastConfig) 
 
   Dim fastConfigRes As TwainFindFastConfigurationResult 
 
   Try 
      fastConfigRes = session.FindFastConfiguration(Path.Combine(LEAD_VARS.ImagesDir, ""), TwainFastUserInterfaceFlags.Show, 0, 1, twFastConfig) 
 
      Dim msg As String 
      MessageBox.Show("FindFastConfig method was successful") 
 
      msg = String.Format("Result Scan Configs count = {0}", fastConfigRes.Tested.Count) 
      MessageBox.Show(msg) 
 
      msg = String.Format("Transfer Mode = {0}" & Constants.vbLf & "File Format = {1}" & Constants.vbLf & "Buffer Size = {2}" & Constants.vbLf & "Required Time = {3}" & Constants.vbLf, fastConfigRes.Tested(0).TransferMechanism, _ 
            fastConfigRes.Tested(0).ImageFormat, fastConfigRes.Tested(0).BufferSize, fastConfigRes.Tested(0).RequiredTime) 
      MessageBox.Show(msg, "Tested Scan Configurations...") 
 
      msg = String.Format("Transfer Mode = {0}" & Constants.vbLf & "File Format = {1}" & Constants.vbLf & "Buffer Size = {2}" & Constants.vbLf & "Required Time = {3}" & Constants.vbLf, fastConfigRes.Best.TransferMechanism, _ 
            fastConfigRes.Best.ImageFormat, fastConfigRes.Best.BufferSize, fastConfigRes.Best.RequiredTime) 
      MessageBox.Show(msg, "Best Scan Configurations...") 
   Catch ex As Exception 
      MessageBox.Show(ex.Message) 
   End Try 
 
   session.Shutdown() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
using Leadtools; 
using Leadtools.Twain; 
 
public void twain_FastConfiguration(object sender, TwainFastConfigurationEventArgs e) 
{ 
   // ... set your code here 
   e.Stop = false; 
} 
public void FindFastConfigurationExample(IntPtr parent) 
{ 
   TwainSession session = new TwainSession(); 
   session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None); 
 
   session.EnableFastConfigurationEvent = true; 
   session.FastConfiguration += new EventHandler<TwainFastConfigurationEventArgs>(twain_FastConfiguration); 
 
   RasterCollection<TwainFastConfiguration> twFastConfig = null; 
   TwainFastConfiguration tempFastConfig = new TwainFastConfiguration(); 
   tempFastConfig = TwainFastConfiguration.Default; 
 
   tempFastConfig.TransferMechanism = TwainTransferMode.File; 
   tempFastConfig.ImageFormat = Leadtools.RasterImageFormat.Bmp; 
   tempFastConfig.BitsPerPixel = 1; 
   twFastConfig.Add(tempFastConfig); 
 
   tempFastConfig.TransferMechanism = TwainTransferMode.File; 
   tempFastConfig.ImageFormat = Leadtools.RasterImageFormat.Tif; 
   tempFastConfig.BitsPerPixel = 1; 
   twFastConfig.Add(tempFastConfig); 
 
   TwainFindFastConfigurationResult fastConfigRes; 
 
   try 
   { 
      fastConfigRes = session.FindFastConfiguration(Path.Combine(LEAD_VARS.ImagesDir, ""), TwainFastUserInterfaceFlags.Show, 0, 1, twFastConfig); 
 
      string msg; 
      MessageBox.Show("FindFastConfig method was successful"); 
 
      msg = String.Format("Result Scan Configs count = {0}", fastConfigRes.Tested.Count); 
      MessageBox.Show(msg); 
 
      msg = String.Format("Transfer Mode = {0}\nFile Format = {1}\nBuffer Size = {2}\nRequired Time = {3}\n", 
         fastConfigRes.Tested[0].TransferMechanism, 
         fastConfigRes.Tested[0].ImageFormat, 
         fastConfigRes.Tested[0].BufferSize, 
         fastConfigRes.Tested[0].RequiredTime); 
      MessageBox.Show(msg, "Tested Scan Configurations..."); 
 
      msg = String.Format("Transfer Mode = {0}\nFile Format = {1}\nBuffer Size = {2}\nRequired Time = {3}\n", 
         fastConfigRes.Best.TransferMechanism, 
         fastConfigRes.Best.ImageFormat, 
         fastConfigRes.Best.BufferSize, 
         fastConfigRes.Best.RequiredTime); 
      MessageBox.Show(msg, "Best Scan Configurations..."); 
   } 
   catch (Exception ex) 
   { 
      MessageBox.Show(ex.Message); 
   } 
 
   session.Shutdown(); 
} 
 
static class LEAD_VARS 
{ 
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Twain Assembly
Click or drag to resize