2010-09-14 4 views
2

Я использую библиотеку WIA для сканирования изображений в своем приложении. Могу ли я настроить параметры сканера (colorfull, grayscell, dpi ....) в моем приложении и не показывать каждый раз при настройке сканирования конечного пользователя?Приобретение образа Windows: как скрыть окно установки сканера

Я использую следующий код, чтобы получить изображение со сканера

 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); 
      } 
     } 
    } 

ответ

2

Да, но вам придется писать кучу кода. Начните с DeviceManager.DeviceInfos, чтобы перечислять доступные устройства. Вам потребуется руководство от пользователя, чтобы выбрать конкретное устройство, которое она намеревается использовать. Это создает DeviceInfo из DeviceInfos.Item, вызывает его метод Connect. Это создает устройство, вызывая его метод ExecuteCommand. Это создает Item, вызывает его метод Transfer. Это создает ImageFile, в котором вы нуждаетесь.

+0

Могу ли я показать окно настройки экрана, когда это необходимо, а затем сохранить всю информацию. В какой форме я могу сохранить эти данные о настройках? – Polaris

+0

В CommonDialog есть куча диалогов. Они будут устанавливать свойства объекта, который вы передаете. Вы можете прочитать эти свойства после завершения диалога. –

+0

Можете ли вы дать мне немного мира кода как пример? – Polaris