Windows Image Acquisition: как скрыть окно настройки сканера - PullRequest
4 голосов
/ 14 сентября 2010

Я использую библиотеку 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);
            }
        }
    }

1 Ответ

2 голосов
/ 14 сентября 2010

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

...