教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

TWAIN规范的第四章(8)

来源:网络收集 时间:2026-08-17
导读: 2. 将 TW_CAPABILITY.Cap 域设置为 CAP_AUTOFEED 并将性能设置为TRUE。 3. 设置为TRUE时,源的行为是在页面的所有区域都已获取后弹出此页面,然后传送下一页面。有图像数据可获取(并且源处于启用状态)时此自动传

2. 将 TW_CAPABILITY.Cap 域设置为 CAP_AUTOFEED 并将性能设置为TRUE。 3. 设置为TRUE时,源的行为是在页面的所有区域都已获取后弹出此页面,然后传送下一页面。有图像数据可获取(并且源处于启用状态)时此自动传送过程将一直持续。 CAP_FEEDERLOADED为TRUE表示纸张在文档传送机中。

注:要使用此性能,CAP_FEEDERENABLED 必须设置为TRUE,否则源将返回 TWRC_FAILURE / TWCC_CAPUNSUPPORTED。 CAP_AUTOSCAN

启用源的文档自动扫描进程。

? 使用DG_CONTROL / DAT_CAPABILITY / MSG_SET。

? 将TW_CAPABILITY.Cap域设置为CAP_AUTOSCAN并将性能设置为TRUE。

? 设置为TRUE时,源的行为是在页面的所有区域都已获取后弹出页面,并开始扫描下一页面。有图像数据可获取(并且源处于启用状态)时此自动扫描过程将一直持续。

注:将 CAP_AUTOSCAN 设置为TRUE将使 CAP_AUTOFEED 隐式被置为TRUE。 应用程序使用文档自动传送时:

? 将CAP_XFERCOUNT设置为-1以表示程序可接受多个图像。

? 预期源返回的TW_PENDINGXFERS.Count值为-1,表示源有更多的图像用于传输但数量未知。

? 使用文档自动传送不会导致多文档传输过程产生变化。 4.4.2.4 程序控制文档传送

除了文档自动传送以外,TWAIN也提供了由应用程序手动控制文档传送的选项。这只有在源同意状态5和6下协商(通过CAP_EXTENDEDCAPS)以下性能时才有可能。如果CAP_AUTOFEED 为TRUE,将影响到尖对以下性能的响应。 CAP_FEEDPAGE

? 如果程序将此性能设置为TRUE,源将弹出当前页面并输送下一页面(若存在)。 ? 为了能正常工作,要求 CAP_FEEDERENABLED 和CAP_FEEDERLOADED为TRUE。 ? 在 CAP_AUTOFEED为TRUE时也将是同样的动作。

? 弹出的页面对应程序正在获取或将要获取的图像,因此,若 CAP_AUTOSCAN 为TRUE并且有不确定数量的页面已被扫描,则弹出的页面可能是已经扫描到源的本地缓存中的页面。 CAP_CLEARPAGE

? 如果程序将此性能设置为TRUE,源将弹出当前页面并使传送区域为空(即无可获取图像)。 ? 为了能像描述的那样工作,要求 CAP_FEEDERENABLED 为TRUE。 ? 若 CAP_AUTOFEED 为TRUE,则下一页面将被推送至获取区域。 ? 若CAP_AUTOSCAN为TRUE,设置此性能将返回TWRC_FAILURE及TWCC_BADVALUE。 CAP_REWINDPAGE

? 若设置此性能为TRUE,源将把当前页送回输入区域并把输出区域中的最后一个页面送回获取区域。

? 为了能正常工作,要求 CAP_FEEDERENABLED 为TRUE。

? 若 CAP_AUTOFEED 为TRUE,则将在页面的所有区域已获取后进行常规的传送。 ? 回溯的页面对应程序正在获取的图像。因此,若CAP_AUTOSCAN为TRUE,并且不确定数量的页面已被扫描,则回溯的页面可能对应已扫描至源的本地缓存中的页面。

4.5 传送压缩数据

在使用缓存传输模式时,某些源可能支持以压缩格式传送数据。 为确定源是否支持传送压缩数据并设置其性能:

1. 使用 DG_CONTROL / DAT_CAPABILITY / MSG_GET操作。 2. 将TW_CAPABILITY.Cap 域设置为 ICAP_COMPRESSION。

3. 源通过TW_CAPABILITY.hContainer指向的一个容器指定所支持的压缩方式信息。可选的压缩方式的标识符均带前缀TWCP_(例如TWCP_PACKBITS),可在第8章的Constants部分和TWAIN.H文件中找到。

4. 若希望协商使用某种压缩方式,请使用 DG_CONTROL / DAT_CAPABILITY / MSG_SET操作。

TW_IMAGEMEMXFER结构用于DG_IMAGE / AT_IMAGEMEMXFER / MSG_GET操作。 传输压缩数据流时(边压缩边传输):

? BytesPerRow域应设置为0,Columns、Rows、XOffset和YOffset域应包含TWON_DONTCARE32 以表示这些域持有无效值(当前图形的尺寸可通过DG_IMAGE / DAT_IMAGEINFO / MSG_GET获取)。

? 缓冲区总是由源进行完整的填充。对于压缩数据则很可能有超过一条的不完整数据被写入缓存。

? 应用程序必须负责销毁缓存。 传输压缩数据块时(先压缩再传输):

? 此结构中的所有域包含有效值。BytesPerRow,Columns,Rows,XOffset和YOffset描述解压因子,Compression和BytesWritten描述压缩因子。

? 与压缩数据流的传输不同的是,此时由源分配传输缓冲。这允许源创建不同尺寸的缓冲区以完整地(未分割到一系列的缓冲区中)将压缩数据传输给程序。在这种情况下,程序应这样设置

TW_MEMORY结构:Flags为TWMF_DSOWNS,Length为 TWON_DONTCARE32,TheMem为NULL。源应假定程序将保持之前的缓冲区而不会释放它,因此,源应为每次传输分配一个新的缓冲区。

? 应用程序必须负责销毁缓存。

? 最后,应用程序不应假定tiles会以任何特定的或逻辑的顺序进行传输。

4.5.1 JPEG压缩

TWAIN支持传输多种格式的压缩数据,JPEG压缩是其中一种。JPEG压缩算法为灰度和真彩图像提供了比例从10:1到25:1的压缩比例,代价则是图像质量的下降。此压缩由应用程序通过一系列“感知性的”过滤器分三个阶段完成:

4.5.1.1 颜色空间转换和分量二次取样(针对彩色图像)

由于平均拥有100百万个光线感知器(杆状细胞)和仅约6万个颜色感知器(视锥细胞),人眼对光的强度(亮度)的感知要比对光频率(色度,或“色彩”)敏感得多。通过将彩色图像转换到一个更有效的亮度/色度颜色空间并对色度分量进行二次取样能够轻易地将图像压缩许多。 此转换使用TW_JPEGCOMPRESSION。将TW_JPEGCOMPRESSION.ColorSpace指定为TWPT_YUV,RGB数据被转换为空间上更高效的YUV数据(以CCIR 601-1或YCbCr最广为人知)。

TW_JPEGCOMPRESSION.SubSampling指定最终的YUV数据流中亮度和色度样本的比例。典型的选择是每个色彩样本对两个亮度样本,这通过将

TW_JPEGCOMPRESSION.SubSampling值设置为0x21102110来指定。一个更大的比例“每个色彩样本对4个亮度样本”由0x41104110表示。 4.5.1.2 应用离散余弦变换(DCT)和量子化

接下来原分量(经过或未经过颜色空间转换)通过DCT被算术地转换到一个空间频率表示法,然后使用量子矩阵进行过滤(每个频率都被划分到量子矩阵上相关的成员)。量子矩阵由TW_JPEGCOMPRESSION.QuantTable[]指定,可为最多四种不同的

源分量定义最多四个量子矩阵。TW_JPEGCOMPRESSION.QuantMap[]将特定的源分量映射到各个的量子矩阵。

…… 此处隐藏:1446字,全部文档内容请下载后查看。喜欢就下载吧 ……
TWAIN规范的第四章(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/563790.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)