LEADTOOLS WIA(Leadtools.Wiaアセンブリ)

フレームを表示

AcquireSimpleメソッド






使われるWIAバージョン。設定可能な値は、以下の通りです。

意味

WiaVersion.Version1 WIAバージョン1.0を使います。
WiaVersion.Version2 WIAバージョン2.0を使います。
アプリケーションウィンドウのウィンドウハンドル。

ShowUserInterfaceがフラグを立てる間スキャナー装置から取得することが設定されないとき、このパラメーターが使われるだけです。スキャナの給紙口(フィーダーまたはフラットベッド)を指定するために、このパラメーターを使います。

このフラグはオプションです。WIA 1.0を使っているならば、根本の項目のために、または、利用できるスキャナ項目を列挙して、目的のスキャナ項目を渡すことによってWiaPropertyId.ScannerDeviceDocumentHandlingSelect属性値を変更することによって給紙口を変更することができます。

WIA 2.0を使っている場合、利用可能なスキャナ項目を列挙して任意のスキャナ項目を渡します。または、Null (Visual BasicではNothing)を渡します。どちらの場合も、列挙は内部で実行され、最初に列挙された項目がソース項目として使われます。

WIAデバイスのどの型を使うべきかについて指定します。設定可能な値は、以下の通りです。

意味

(WiaDeviceType)デフォルト。 汎用的なWIAデバイス。デバイス列挙法の間、この定数は、すべてのWIAデバイスを列挙するのに用いられます。これは、デフォルト値です。
WiaDeviceType.Scanner デバイスは、スキャナです。
WiaDeviceType.DigitalCamera デバイスは、カメラです。この種のデバイスがWindows Vista以降によってサポートされないことに注意すべきです。
WiaDeviceType.StreamingVideo デバイスは、ストリーミングビデオを格納します。この種のデバイスがWindows Server 2003(Windows Vista)によって、または、いずれサポートされないことに注意すべきです。
WIA画像獲得選択ダイアログボックスの特定の動作を決定するフラグ。設定可能な値は、以下の通りです。

意味

WiaAcquireFlags.None デバイス画像獲得ダイアログボックスのためのデフォルト動作。
WiaAcquireFlags.NoDefault たとえ利用できる1つのデバイスだけがあるとしても、選ばれたデバイスダイアログボックスを示すことを強制します。
WiaAcquireFlags.SingleImage デバイス画像獲得ダイアログボックスでimage選択を単一のimageに制限します。WIAバージョン2.0を使っているならば、このフラグは利用できません。
WiaAcquireFlags.ShowUserInterface メーカーの画像獲得ダイアログボックスを示します。
WiaAcquireFlags.UseCommonUI 利用可能な場合、ベンダーが提供するユーザーインターフェース(UI)でなく、システムユーザーインターフェースを使用します。システムUIが利用できないならば、ベンダーUIが使われます。
WIAソースから一つ以上のイメージを取得します。
構文
public DialogResult AcquireSimple( 
   WiaVersion version,
   IntPtr owner,
   object item,
   WiaDeviceType deviceType,
   WiaAcquireFlags flags
)
'Declaration
 
Public Function AcquireSimple( _
   ByVal version As WiaVersion, _
   ByVal owner As IntPtr, _
   ByVal item As Object, _
   ByVal deviceType As WiaDeviceType, _
   ByVal flags As WiaAcquireFlags _
) As DialogResult
'Usage
 
Dim instance As WiaSession
Dim version As WiaVersion
Dim owner As IntPtr
Dim item As Object
Dim deviceType As WiaDeviceType
Dim flags As WiaAcquireFlags
Dim value As DialogResult
 
value = instance.AcquireSimple(version, owner, item, deviceType, flags)

            

            
public:
DialogResult AcquireSimple( 
   WiaVersion version,
   IntPtr owner,
   Object^ item,
   WiaDeviceType deviceType,
   WiaAcquireFlags flags
) 

パラメーター

バージョン
使われるWIAバージョン。設定可能な値は、以下の通りです。

意味

WiaVersion.Version1 WIAバージョン1.0を使います。
WiaVersion.Version2 WIAバージョン2.0を使います。
オーナー
アプリケーションウィンドウのウィンドウハンドル。
項目

ShowUserInterfaceがフラグを立てる間スキャナー装置から取得することが設定されないとき、このパラメーターが使われるだけです。スキャナの給紙口(フィーダーまたはフラットベッド)を指定するために、このパラメーターを使います。

このフラグはオプションです。WIA 1.0を使っているならば、根本の項目のために、または、利用できるスキャナ項目を列挙して、目的のスキャナ項目を渡すことによってWiaPropertyId.ScannerDeviceDocumentHandlingSelect属性値を変更することによって給紙口を変更することができます。

WIA 2.0を使っている場合、利用可能なスキャナ項目を列挙して任意のスキャナ項目を渡します。または、Null (Visual BasicではNothing)を渡します。どちらの場合も、列挙は内部で実行され、最初に列挙された項目がソース項目として使われます。

デバイスタイプ
WIAデバイスのどの型を使うべきかについて指定します。設定可能な値は、以下の通りです。

意味

(WiaDeviceType)デフォルト。 汎用的なWIAデバイス。デバイス列挙法の間、この定数は、すべてのWIAデバイスを列挙するのに用いられます。これは、デフォルト値です。
WiaDeviceType.Scanner デバイスは、スキャナです。
WiaDeviceType.DigitalCamera デバイスは、カメラです。この種のデバイスがWindows Vista以降によってサポートされないことに注意すべきです。
WiaDeviceType.StreamingVideo デバイスは、ストリーミングビデオを格納します。この種のデバイスがWindows Server 2003(Windows Vista)によって、または、いずれサポートされないことに注意すべきです。
フラグ
WIA画像獲得選択ダイアログボックスの特定の動作を決定するフラグ。設定可能な値は、以下の通りです。

意味

WiaAcquireFlags.None デバイス画像獲得ダイアログボックスのためのデフォルト動作。
WiaAcquireFlags.NoDefault たとえ利用できる1つのデバイスだけがあるとしても、選ばれたデバイスダイアログボックスを示すことを強制します。
WiaAcquireFlags.SingleImage デバイス画像獲得ダイアログボックスでimage選択を単一のimageに制限します。WIAバージョン2.0を使っているならば、このフラグは利用できません。
WiaAcquireFlags.ShowUserInterface メーカーの画像獲得ダイアログボックスを示します。
WiaAcquireFlags.UseCommonUI 利用可能な場合、ベンダーが提供するユーザーインターフェース(UI)でなく、システムユーザーインターフェースを使用します。システムUIが利用できないならば、ベンダーUIが使われます。

戻り値

DialogResult値の1つ。エラーが発生するならば、例外はスローされます。
解説

これは、直接呼び出すことができる高レベルな収集関数です。この関数を使うとき、以下の関数は内部的に呼び出されます:

WIAソースから取得している間、若干のオプションを制御するためにこのメソッドを呼び出す前にAcquireOptionsプロパティメンバを変更することができます。

以下の1つを実行することによってメモリ転送またはファイル転送を実行するために、このメソッドを設定します:

メモリ転送を実行するとき、収集されたページを受け取るためにAcquireEventイベントを追加する必要があります。イベントは、ページ転送進捗のパーセント完了を提供もします。

ファイル転送を実施する場合、AcquireEventイベントの追加はオプションです。イベントにより保存されたパスと、ファイル保存処理が何パーセント完了したかが示されるだけであるためです。

ファイル転送を実行するとき、WiaSessionクラスの範囲内の2つのプロパティは利用できるようになります:

収集操作をキャンセルするために、AcquireEventイベントを追加して、WiaAcquireEventArgsキャンセルメンバをtrueに設定します。

注意:

ShowUserInterfaceフラグが収集メソッドのどれのためにでも設定されるとき、SetPropertyXxxまたはSetPropertiesメソッドを用いて設定される任意のプロパティの値がMicrosoftの画像獲得ダイアログボックスで上書きされるのでご了承ください。Microsoftの画像獲得ダイアログボックスは、現在の意図(image型)、選択領域(left、上、幅と高さ)、給紙口とデュプレックスモードのようなそれ自身の初期化プロパティを設定します、 ...その他。

したがって、メーカーの画像獲得ダイアログを押して、SetPropertyXxxとSetPropertiesメソッドを通して設定される値を用いて指定されたソース項目から項目パラメーターまで直接取得することを望むならば、ShowUserInterfaceフラグを設定しません。

注意: Windows VISTA 64ビットの上でこの関数を呼び出すWin32バージョンアプリケーションを実行している間、FilesCountFilesPathsプロパティが必要情報で更新されないことがわかりました。これは、MicrosoftのWIAツールキットの既知の制限です。
注意: ShowUserInterfaceフラグが設定される間WIA 2.0を使っているならば、AcquireEventイベントを追加することが必要でありません。MicrosoftのWIA 2.0収集ダイアログは、イベントを提供しないで、すべての処理を実行して、FilesCountFilesPathsプロパティを通してパスとともに保存されたファイルの数で返ります。

詳細については、「WIAソースから取得する方法」を参照してください。

サンプル
Copy Code  
Imports Leadtools
      Imports Leadtools.Codecs
      Imports Leadtools.Wia

      <TestMethod()> _
#If Not LEADTOOLS_V19_OR_LATER Then
      Public Sub AcquireSimpleExample(ByVal parent As IWin32Window)
#Else
      Public Sub AcquireSimpleExample(ByVal parent As IntPtr)
#End If ' #If LEADTOOLS_V19_OR_LATER Then
         Dim session As WiaSession = New WiaSession()
         ' Initialize and fill the required fields from the WiaAcquireOptions structure
         Dim wiaAcquireOptions As WiaAcquireOptions = wiaAcquireOptions.Empty
         wiaAcquireOptions.MemoryBufferSize = 32 * 1024
         wiaAcquireOptions.DoubleBuffer = True
         session.AcquireOptions = wiaAcquireOptions

         AddHandler session.AcquireEvent, AddressOf session_AcquireSimpleEvent

         session.Acquire(parent, Nothing, WiaAcquireFlags.ShowUserInterface Or WiaAcquireFlags.UseCommonUI)

         RemoveHandler session.AcquireEvent, AddressOf session_AcquireSimpleEvent
         session.Shutdown()
      End Sub

      Public Sub session_AcquireSimpleEvent(ByVal sender As Object, ByVal e As WiaAcquireEventArgs)
         Application.DoEvents()

         If (e.Flags And WiaAcquiredPageFlags.StartOfPage) = WiaAcquiredPageFlags.StartOfPage Then
            Console.WriteLine("Beginning of data transfer.")
         ElseIf (e.Flags And WiaAcquiredPageFlags.EndOfPage) = WiaAcquiredPageFlags.EndOfPage Then
            Console.WriteLine("End of data transfer.")
         End If

         If Not e.Image Is Nothing Then
            ' You can load the image here.
         End If
      End Sub
using Leadtools;
      using Leadtools.Codecs;
      using Leadtools.Wia;

      [TestMethod]
#if !LEADTOOLS_V19_OR_LATER
      public void AcquireSimpleExample(IWin32Window parent)
#else
      public void AcquireSimpleExample(IntPtr parent)
#endif // #if !LEADTOOLS_V19_OR_LATER
      {
         WiaSession wiaSession = new WiaSession();
         // Initialize and fill the required fields from the WiaAcquireOptions structure
         WiaAcquireOptions wiaAcquireOptions = WiaAcquireOptions.Empty;
         wiaAcquireOptions.MemoryBufferSize = 32 * 1024;
         wiaAcquireOptions.DoubleBuffer = true;
         wiaSession.AcquireOptions = wiaAcquireOptions;

         wiaSession.AcquireEvent += new EventHandler<WiaAcquireEventArgs>(wiaSession_AcquireSimpleEvent);

         wiaSession.Acquire(parent, null, WiaAcquireFlags.ShowUserInterface | WiaAcquireFlags.UseCommonUI);

         wiaSession.AcquireEvent -= new EventHandler<WiaAcquireEventArgs>(wiaSession_AcquireSimpleEvent);
         wiaSession.Shutdown();
      }

      public void wiaSession_AcquireSimpleEvent(object sender, WiaAcquireEventArgs e)
      {
         Application.DoEvents();

         if ((e.Flags & WiaAcquiredPageFlags.StartOfPage) == WiaAcquiredPageFlags.StartOfPage)
            Console.WriteLine("Beginning of data transfer.");
         else if ((e.Flags & WiaAcquiredPageFlags.EndOfPage) == WiaAcquiredPageFlags.EndOfPage)
            Console.WriteLine("End of data transfer.");

         if (e.Image != null)
         {
            // You can load the image here.
         }
      }
必要条件

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

参照

参照

WiaSessionクラス
WiaSessionメンバ
Acquireメソッド
AcquireToFileメソッド
AcquireOptionsプロパティ
FilesCountプロパティ
FilesPathsプロパティ
GetPropertiesメソッド
SetPropertiesメソッド