スキャナーを使ってスキャンするには

スキャナーを取得する

WindowsRuntimeではイメージスキャナーを標準でサポートしています。

使用するスキャナーを決定するためにはDeviceInformationクラスのFindAllAsyncでDeviceClass列挙体のImageScannerを渡してスキャナーを列挙します。

 

コレクションからどのスキャナーを使うかを決定し、そのIdをImageScannerクラスのFromIdAsyncメソッドに渡してImageScannerを初期化します。

 

DeviceClassを使いましたがImageScannerのGetDeviceSelectorをFindAllAsyncメソッドにわたすことでフィルタリングも可能です。

 

スキャンしてStorageFileに保存する

スキャナーが決定できたらScanFileToStorageFolderAsyncメソッドによってスキャンを開始することができます。

今回は画像ライブラリに保存するのでマニフェストファイルの機能→画像ライブラリにチェックを入れましょう。

 

スキャンしてプレビューする

プレビュー機能のあるスキャナーならばスキャン結果をプレビューすることが可能です。

IsPreviewSupportedメソッドをつかって、プレビュー機能をスキャナーがサポートするかを判断し、

ScanPreviewToStreamAsyncメソッドつかってストリームにプレビューデータを流します。

あとはInMemoryRandomAccessStreamをつかってImageコントロールにストリームを流します。

 

サンプルコード

XAML

C#