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 方法。这会产生一个设备,调用它的 ExecuteCommand 方法。这会产生一个 Item,调用它的 Transfer 方法。这会产生您需要的 ImageFile。

于 2010-09-14T14:45:37.123 回答