4

アプリで画像をスキャンするために WIA ライブラリを使用しています。アプリでスキャナー設定 (colorfull、grayscell、dpi など) をプログラムで設定し、毎回スキャン設定をエンド ユーザーに表示しないようにすることはできますか?

次のコードを使用して、スキャナーから画像を取得します

        public ImageFile Scan()
        {
        try
        {
            CommonDialog dialog = new CommonDialog();

            ImageFile image = dialog.ShowAcquireImage(
                WiaDeviceType.ScannerDeviceType,
                WiaImageIntent.ColorIntent,
                WiaImageBias.MaximizeQuality,
                WIA.FormatID.wiaFormatJPEG,false,false,false);

            return image;
        }
        catch (COMException ex)
        {
            if (ex.ErrorCode == -2145320939)
            {
                throw new ScannerNotFoundException();
            }
            else
            {
                throw new ScannerException("COM Exception", ex);
            }
        }
    }
4

1 に答える 1

2

はい。ただし、大量のコードを記述する必要があります。DeviceManager.DeviceInfos から始めて、使用可能なデバイスを列挙します。ユーザーが使用する特定のデバイスを選択するには、ユーザーからのガイダンスが必要です。それは DeviceInfos.Item から DeviceInfo を生成し、その Connect メソッドを呼び出します。それは Device を生成し、その ExecuteCommand メソッドを呼び出します。それは Item を生成し、その Transfer メソッドを呼び出します。これにより、必要な ImageFile が生成されます。

于 2010-09-14T14:45:37.123 に答える