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

我使用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);
            }
        }
    }

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

点赞