TWAIN规范的第四章(7)

2019-09-01 23:14

(假定程序已经通过将ICAP_PIXELTYPE设置为TWPT_RGB来通知源提供RGB数据并且源已接受)

程序可要求源在将数据传输至程序前对数据作曲线变换,相关操作为DG_IMAGE /

DAT_RGBRESPONSE / MSG_SET。变换曲线信息由程序通过一个TW_RGBRESPONSE结构指定。程序务必检查此请求的返回值,若返回TWRC_FAILURE并且状态码为

TWCC_BADPROTOCOL,则表示程序不支持RGB的响应转换(与支持RGB数据无关)。 如果源允许程序设置RGB响应转换,则应有重置转换的途径。源应有一种直接传输而不转换任何RGB数据的“恒等转换”。程序可通过DG_IMAGE / DAT_RGBRESPONSE / MSG_RESET请求来重置转换。

4.8 对比度、亮度和阴影

一个难以明确的问题是什么才是最合适的表达一个特定设备的这些真实特性的方式。所有尝试支持这些性能的人都清楚推荐的范围并没有真实的反映现实世界中的设备。数据源开发者已经尝试了许多种不同的方法来获取正确的响应,不是所有的能够一致。

通过提供一个有意义的步进值或提供不同的容器,数据源可向程序提供足够的信息以准确地为设备的真实能力建模。对于一个希望展示关于这类性能的自定义用户界面的程序来说,提供从-1000到1000的2000个等级并没有太多作用,尤其是当设备实际上仅支持少数几个等级的时候。

由于数据源开发者和应用程序开发者都阅读相同的规范,因此可以想象为此类性能提供一个与指定范围不匹配的值是不会被接受的。

以下建议是一个如何遵循此规范的一个例子,它们为指定的数据源指定最准确的值。 例1: ICAP_BRIGHTNESS仅支持三个等级 第10章中声明的规范要求如下:

“源应将值校正到范围内,确保'0'是当前值的一个可用值。如果源的正负范围相对于0不对称,将范围数量设为正负1000并从0值在两个方向上进行等比分割。这将产生一个步进值不同的正范围与负范围。”

注:从这段关于正负范围步进值不一致的描述延伸一下,应使用 TW_ENUMERATION容器。 TW_RANGE无法表达非线性的步进值。

假设真实设备只支持普通、浅、深三种选项,则可以通过将真实值映射到请求值来适应此约束:

Normal = 0 Lighten = -1000 Darken = 1000

这些值可以放置在一个步进值为1000的TW_RANGE容器中,也可以放置在一个包含{-1000,0,1000}、当前值和默认值为0的TW_ENUMERATION容器中。


TWAIN规范的第四章(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:思潮

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: