Morena 7 Scanner 完全忽略设置

Morena 7 Scanner completely ignores settings

我正在尝试在我的 java 应用程序中设置 Morena 7,但我无法通过我的代码配置我的扫描仪,它会忽略我设置的设置。

尽管我的扫描仪可以使用示例项目,但它们提供了每个受支持的设置。 我在网上搜索了解释,但我发现 none 文档很少。

这是我用来扫描的代码,它与 tutorial document 中给出的示例相同:

    public void scan() throws Exception {
        Manager manager = Manager.getInstance();
        List devices = manager.listDevices();
        if(devices.isEmpty()) {
            System.out.println("No scanners detected");
            return;
        }
        Device device = (Device) devices.get(0);

        if (device instanceof Scanner)  {
            Scanner scanner = (Scanner) device;
            scanner.setMode(Scanner.RGB_8);
            scanner.setResolution(75);
            scanner.setFrame(100, 100, 500, 500);

            BufferedImage bimage = SynchronousHelper.scanImage(scanner);

            // Do the necessary processes with bimage  

            manager.close();
        }
        else {
            System.out.println("Please Connect A Scanner");
        }
    }

当我 运行 此代码时,我取回了一张图像,但使用打印机的默认值,颜色、分辨率和扫描区域(框架)等所有设置都将被忽略。

首先,我认为一个原因可能是 Morena 7 总是将扫描仪数据假脱机到文件中的问题。在写入文件之前,您无法访问此扫描仪数据(不幸的是)。因此,如果您想扫描双层图像,您将获得带有灰度的 jpg 图像。 Morena 在 Mac OSX 上将扫描仪数据保存为 jpg,在 Windows.

上将扫描仪数据保存为 bmp

您应该检查 Morena 7 创建的临时文件。假设您使用 Moran 示例中的 class SynchronousHelper,您可以编辑 scanImage 方法,该方法仅使用 ImageIO 加载临时文件。

如果我检查此临时文件(在 Mac OSX 上),将考虑所有设置值,如分辨率和颜色模式。可能您的扫描仪不支持某些功能?或者 Morena 在保存图像时做错了。

并检查系统错误输出。应该看起来像下面这样,您可以看到我将分辨率设置为 400dpi 并将颜色模式设置为双级(ICScannerPixelDataTypeBW 和 bitDepth 1)。

Functional unit: ICScannerFunctionalUnitFlatbed <0x7fefe850f4e0>:
  pixelDataType                            : ICScannerPixelDataTypeBW
  supportedBitDepths                       : <NSMutableIndexSet: 0x7fefe850f4b0>[number of indexes: 2 (in 2 ranges), indexes: (1 8)]
  bitDepth                                 : 1
  supportedDocumentTypes                   : <NSMutableIndexSet: 0x7fefede9a9f0>[number of indexes: 6 (in 2 ranges), indexes: (1-5 10)]
  documentType                             : 1
  physicalSize                             : [width = 8.50 inches, height = 14.00 inches]
  measurementUnit                          : 0
  supportedResolutions                     : <NSMutableIndexSet: 0x7fefedee4390>[number of indexes: 7 (in 7 ranges), indexes: (100 150 200 300 400 600 1200)]
  preferredResolutions                     : <NSMutableIndexSet: 0x7fefedee4390>[number of indexes: 7 (in 7 ranges), indexes: (100 150 200 300 400 600 1200)]
  resolution                               : 400
  overviewResolution                       : 150
  supportedScaleFactors                    : <NSMutableIndexSet: 0x7fefedec3dd0>[number of indexes: 1 (in 1 ranges), indexes: (100)]
  preferredScaleFactors                    : <NSMutableIndexSet: 0x7fefedec3dd0>[number of indexes: 1 (in 1 ranges), indexes: (100)]
  scaleFactor                              : 100
  acceptsThresholdForBlackAndWhiteScanning : NO
  usesThresholdForBlackAndWhiteScanning    : NO
  thresholdForBlackAndWhiteScanning        : 0
  templates                                : (null)
  vendorFeatures                           : (null)
  state                                    : 0x00000001