自定义的和自动设置的页面大小

应用程序可以通过扫描程序自动检测或通过自定义值来设置页面大小。 应用程序使用的方法由 WIA_IPS_PAGE_SIZE 属性决定,该属性可将值WIA_PAGE_AUTO或WIA_PAGE_CUSTOM。

如果应用程序将WIA_IPS_PAGE_SIZE设置为除 WIA_PAGE_CUSTOM 以外的任何值,WIA 微型驱动程序应调整 WIA_IPS_PAGE_WIDTH 的值,并将WIA_IPS_PAGE_HEIGHT到页面尺寸(千分之一英寸 (.001) )。 微型驱动程序还应将WIA_IPS_XEXTENT和WIA_IPS_YEXTENT的值调整为页面尺寸(以像素为单位)。

如果 (WIA_IPS_XEXTENT或WIA_IPS_YEXTENT) 的盘区设置更改为与当前页大小设置 不匹配 的值,微型驱动程序应将 WIA_IPS_PAGE_SIZE 属性的值更改为WIA_PAGE_CUSTOM。 微型驱动程序还应修改WIA_IPS_PAGE_WIDTH或WIA_IPS_PAGE_HEIGHT以同意新的盘区设置。

如果应用程序将 WIA_IPS_PAGE_SIZE 属性设置为 WIA_PAGE_CUSTOM,则当前选择区域不受影响。 WIA 微型驱动程序应从 WIA_IPS_XPOSWIA_IPS_YPOS 属性的当前设置开始获取当前图像布局。 如果页面大小设置导致选择区域位于扫描仪的床外,微型驱动程序必须自动调整WIA_IPS_XPOS的值,并将属性WIA_IPS_YPOS为有效设置。 如果同时设置WIA_IPS_PAGE_SIZE和WIA_IPS_ORIENTATION属性,并且它们组合应用时无效,则微型驱动程序应通过 IWiaMiniDrv::d rvValidateItemProperties 方法返回错误来使应用程序的设置失败。

启用自动页面大小检测后,驱动程序应仅在完成图像数据传输后提供准确的图像维度信息。 对于基于流的传输,驱动程序应在传输结束时更新映像标头中的图像尺寸。 在新会话开始时,WIA_IPS_PAGE_SIZE 属性的值应始终设置为 WIA_PAGE_AUTO 以外的值。

将WIA_PAGE_AUTO设置为当前WIA_IPS_PAGE_SIZE值时,驱动程序可能需要首先传输包含通用图像尺寸的图像标头,然后传输图像数据,然后返回到传输流的开头,使用扫描完成) 后找到的实际图像尺寸 (更新图像标头, ,然后将流索引移回流的末尾。

当WIA_PAGE_AUTO设置为 (驱动程序选择为默认值或由应用程序) 设置时,在完成整个映像传输之前,应用程序不应尝试处理映像标头描述的图像尺寸。

注意 如果设备子项不支持属性,WIA 服务中的兼容性层不会向从 Windows XP WIA 设备转换的 ADF 项添加对WIA_IPS_PAGE_SIZE的支持。 如果WIA_IPS_PAGE_SIZE在运行时受支持,应用程序不应期望 ADF 项始终支持此属性,并且应始终检查。 (通常,应用程序应检查对要协商的任何属性的支持。)