【问题标题】:Why do different scanned images have same size in file transfer mode?为什么不同的扫描图像在文件传输模式下大小相同?
【发布时间】:2013-04-02 05:31:31
【问题描述】:

我正在用 C++ 开发一个扫描仪应用程序。目前我能够扫描文档并以文件传输模式获取图像。但是即使文件的内容不同,所有扫描的文件都具有相同的大小。

FileFormat:TWFF_TIFF
Pixel flavout: TWPF_CHOCOLATE
Xresoultion:75
Yresoultion:75
ICAP_UNITS: TWUN_INCHES
ICAP_PIXELTYPE: TWPT_GRAY
ICAP_BRIGHTNESS:0
ICAP_CONTRAST:0
ICAP_BITDEPTH: 8

每次扫描的图像大小为 327kb。为什么会这样?

另外,如何设置 JPEG_Compression。文件传输模式是否支持JPEG_compression?

【问题讨论】:

    标签: twain


    【解决方案1】:

    可能您的扫描仪/驱动程序正在写入未压缩的 TIFF 文件,因此文件大小仅取决于图像的尺寸。如果每个图像的宽度和高度相同,则生成的文件将具有相同的大小。

    TWAIN 中的所有文件传输都是由驱动程序实现的(不是 TWAIN 本身),所有功能都是可选的。因此,您需要在传输 TIFF 文件时检查您的扫描仪/驱动程序是否支持 JPEG 压缩。可能,也可能不会。

    您可以尝试将 ICAP_COMPRESSION 设置为 TWCP_JPEG, 将 ICAP_IMAGEFILEFORMAT 设置为 TWFF_TIFF。如果两者都成功,您可能会在 TIFF 中获得 JPEG 压缩,尽管它可能是“旧样式”JPEG 或“新样式”JPEG。如果您不知道这意味着什么,您可能应该找出答案。

    几年前,我为这种实验编写了一个工具,至今仍由 Atalasoft 维护且免费:Twirl TWAIN Probe

    注意:许多扫描仪不支持文件传输模式(它是可选的)并且那些支持的可能不支持 TIFF 文件格式(唯一需要的文件格式是 BMP!)如果您需要支持各种扫描仪,您必须使用 TWAIN 的本地传输模式或内存传输模式,并将图像写入自己的文件,例如使用 LibTiff。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      相关资源
      最近更新 更多