Leadtools TWAIN(Leadtools.Twainアセンブリ)

フレームを表示

FindFastConfigurationメソッド






テストされたイメージを保存する作業フォルダへのパス。
メーカーのユーザーインターフェースを示すべきかどうか示します。可能な値のリストについては、ユーザーインターフェースの表示とメソッドの動作を制御するUserInterfaceConstants列挙体Flagsを参照します。
得られるファイルは、ビット数です。
すべてのピクセル当たりビットがすべてのファイルフォーマットが利用できるというわけではないことに注意すべきです。その形式によってサポートされる最も近いBitsPerPixel値を用いてファイルを保存するために、bitsPerPixelのために0を使います。
テストされるメモリーコンフィギュレーションの数。このパラメーターのための最大値は、10です。
テストされる構成。
(ドキュメント/Medicalのみ)、最善スキャナ構成を決定します。
構文
'Declaration
 
Public Function FindFastConfiguration( _
   ByVal workingFolder As String, _
   ByVal flags As TwainFastUserInterfaceFlags, _
   ByVal bitsPerPixel As Integer, _
   ByVal bufferIteration As Integer, _
   ByVal userConfigurations As RasterCollection(Of TwainFastConfiguration) _
) As TwainFindFastConfigurationResult
'Usage
 
Dim instance As TwainSession
Dim workingFolder As String
Dim flags As TwainFastUserInterfaceFlags
Dim bitsPerPixel As Integer
Dim bufferIteration As Integer
Dim userConfigurations As RasterCollection(Of TwainFastConfiguration)
Dim value As TwainFindFastConfigurationResult
 
value = instance.FindFastConfiguration(workingFolder, flags, bitsPerPixel, bufferIteration, userConfigurations)

            

            

パラメーター

workingFolder
テストされたイメージを保存する作業フォルダへのパス。
フラグ
メーカーのユーザーインターフェースを示すべきかどうか示します。可能な値のリストについては、ユーザーインターフェースの表示とメソッドの動作を制御するUserInterfaceConstants列挙体Flagsを参照します。
bitsPerPixel
得られるファイルは、ビット数です。
すべてのピクセル当たりビットがすべてのファイルフォーマットが利用できるというわけではないことに注意すべきです。その形式によってサポートされる最も近いBitsPerPixel値を用いてファイルを保存するために、bitsPerPixelのために0を使います。
bufferIteration
テストされるメモリーコンフィギュレーションの数。このパラメーターのための最大値は、10です。
userConfigurations
テストされる構成。

戻り値

テストTWAINソースのために最善で最も高速構成を表すTwainFindFastConfigurationResult。
解説
このメソッドは、スキャン構成をSelectSourceメソッドを用いて選択されるスキャナを見つけるため検査します。最も高速スキャンを用いて、構成はできるだけ速く、イメージをスキャンします。ユーザー定義であるかカスタム構成をテストするために、FindFastConfigurationメソッドのuserConfigurationsパラメーターに、TwainFastConfigurationオブジェクトの配列を渡します。
TWAINドライバが利用できるデフォルトコンフィグレーションをテストするために、userConfigurationsパラメーターのためにnullを渡します。テストするデフォルトのスキャン構成のリストは、転送モード、ピクセル当たりビットと多くのバッファに基づくデフォルトのスキャン構成のリストを取得するために、FindConfigurationメソッドを用いて短くなることができます。スキャン構成のリストは、返されます。次に、FindFastConfigurationメソッドのuserConfigurationsパラメーターとして、TwainFastConfigurationオブジェクトの返された配列を渡します。最善で最も高速スキャン構成を決定するために、FindFastConfigurationメソッドを呼び出します。
TwainFastUserInterfaceFlags.CheckDefaultBitsPerPixelフラグで設定されるならば、メソッドはすべてのサポートされたピクセル当たりビットを選択したスキャナを見つけるため検査します。このフラグが設定されないならば、メソッドはbitsPerPixelパラメーターで指定されているピクセル当たりビットをテストします。
TwainFastUserInterfaceFlags.UseThreadフラグで設定されるならば、画像獲得プロセスはスレッドモードで動作します。スキャナによっては、スレッドで画像を取得すると画像の取得スピードが向上する場合があります。別のスキャナでは、たとえばスレッドモードで画像を取得する高速スキャナでは画像の取得スピードに改善はほとんど見られません。
テストされているスキャン構成のための転送モードがTwainTransferMechanism.MemoryまたはTwainTransferMechanism.Nativeである場合だけ、bitsPerPixelパラメーターとTwainFastUserInterfaceFlags.CheckDefaultBitsPerPixelフラグが使われます。
。バッファの反復処理値は、テストされるバッファサイズを決定します。メモリ転送モードを様々なバッファサイズでテストする目的は、最も高速スキャン構成を提供するバッファサイズを決定することです。バッファの反復処理は、テストされるバッファサイズの数を指定します。バッファサイズは、TWAINソースからの伝達データ量のサイズです。
スキャン構成のテストプロセスを中止するには、FastConfigurationイベントでTwainFastConfigurationEventArgs.StopプロパティをTrueに設定します。スキャン構成プロセスを継続するには、TwainFastConfigurationEventArgs.StopプロパティをFalseに設定しなければなりません。

詳細については、「Fast TWAIN(スキャン構成)」を参照してください。この関数では、テストの実行を通してユーザーを案内できるようヘルパーメッセージボックスが一部表示されます。このメッセージが必要ない場合はTwainFastUserInterfaceFlags.SuppressMessageBoxesフラグを渡してメッセージが表示されないようにしてください。
サンプル
Copy Code  
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

#If Not LEADTOOLS_V19_OR_LATER Then
      Public Sub FindFastConfigurationExample(ByVal parent As IWin32Window)
#Else
      Public Sub FindFastConfigurationExample(ByVal parent As IntPtr)
#End If ' #If LEADTOOLS_V19_OR_LATER Then
         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;
      }
#if !LEADTOOLS_V19_OR_LATER
      public void FindFastConfigurationExample(IWin32Window parent)
#else
      public void FindFastConfigurationExample(IntPtr parent)
#endif // #if !LEADTOOLS_V19_OR_LATER
      {
         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";
      }
必要条件

ターゲットプラットホーム

参照

参照

TwainSessionクラス
TwainSessionメンバ
Startupメソッド
Shutdownメソッド
FindConfigurationメソッド
EnableFastConfigurationEventプロパティ
Leadtools.Twain.TwainSession.FastConfiguration