Windows Image Acquisition:如何隐藏扫描仪设置窗口

时间:2010-09-14 14:26:37

标签: c# wia image-scanner

我使用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 个答案:

答案 0 :(得分:2)

是的,但你必须写一堆代码。从DeviceManager.DeviceInfos开始枚举可用的设备。您需要用户提供一些指导,以选择她打算使用的特定设备。这会从DeviceInfos.Item生成一个DeviceInfo,调用它的Connect方法。这会产生一个Device,调用它的ExecuteCommand方法。这会生成一个Item,调用它的Transfer方法。这就产生了你需要的ImageFile。