WIA_DPS_PAGE_SIZE

WIA_DPS_PAGE_SIZE 属性包含当前选择要扫描的页面的大小。

属性类型:VT_I4

有效值:WIA_PROP_LIST

访问权限:读/写

注解

若要选择要扫描的页面的尺寸,应用程序会设置WIA_DPS_PAGE_SIZE。 WIA 微型驱动程序创建和维护此属性。

下表描述了对 WIA_IPS_PAGE_SIZE 有效的常量。

定义
WIA_PAGE_A4 页面大小为 8267 × 11692 (PORTRAIT 方向) 。
WIA_PAGE_CUSTOM 页面大小由 WIA_DPS_PAGE_HEIGHTWIA_DPS_PAGE_WIDTH 属性的值定义。
WIA_PAGE_LETTER 页面大小为 8500 × 11000 (PORTRAIT 方向) 。

WIA_IPS_ORIENTATION 属性的值确定当前所选页面的方向。 WIA_DPS_PAGE_WIDTH和WIA_DPS_PAGE_HEIGHT属性报告页面的尺寸,以千分之一英寸 (.001) 为单位。 这些属性必须具有等效于 WIA_IPS_XEXTENTWIA_IPS_YEXTENT 属性的值,这些属性包含页面尺寸(以像素为单位)。

WIA_PROP_LIST类型的值应取决于 WIA_IPS_ORIENTATION 属性的有效设置。 如果设备无法使用WIA_PAGE_A4设置扫描面向横向的文档,当WIA_IPS_ORIENTATION设置为 LANDSCAPE 时,WIA_PAGE_A4不应出现在 WIA_DPS_PAGE_SIZE 属性的有效值列表中。

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

如果 (WIA_IPS_XEXTENT或WIA_IPS_YEXTENT) 的盘区设置更改为与当前页大小设置 不匹配 的值,微型驱动程序应将 WIA_DPS_PAGE_SIZE 属性的值更改为WIA_PAGE_CUSTOM。 微型驱动程序还应根据新的盘区设置修改WIA_DPS_PAGE_WIDTH或WIA_DPS_PAGE_HEIGHT。

如果WIA_IPS_ORIENTATION设置为 LANDSCAPE,则盘区设置将“翻转”。例如,如果应用程序将WIA_DPS_PAGE_SIZE设置为 WIA_PAGE_A4,微型驱动程序应将 WIA_DPS_PAGE_WIDTH 设置为 11692,WIA_DPS_PAGE_HEIGHT设置为 8267。 (微型驱动程序还应设置WIA_IPS_XEXTENT并相应地WIA_IPS_YEXTENT。) 请注意,如果WIA_DPS_PAGE_SIZE设置为WIA_PAGE_CUSTOM,则方向设置不用于确定要扫描的页面的范围尺寸。

微型驱动程序必须确保WIA_IPS_ORIENTATION属性与当前选择区域一致。 如果应用程序将 WIA_IPS_ORIENTATION 的值更改为当前所选页面大小无效的值,微型驱动程序应将 WIA_DPS_PAGE_SIZE 的值更改为新方向值支持的页面大小。

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

以下四个代码示例演示了以下WIA_DPS_PAGE_SIZE方案:

  1. 驱动程序报告设置。

  2. 应用程序将 WIA_DPS_PAGE_SIZE 属性设置为 WIA_PAGE_LETTER。

  3. 应用程序将 WIA_IPS_ORIENTATION 属性设置为 LANDSCAPE。

  4. 应用程序将 WIA_IPS_XEXTENT 属性更改为较小的值。

示例 1:微型驱动程序报告设置

在以下代码示例中,微型驱动程序在应用程序设置任何 WIA 属性之前设置自定义选择区域。 在本例中,选择区域表示整个平板。

WIA_DPS_PAGE_SIZE = WIA_PAGE_CUSTOM WIA_DPS_PAGE_WIDTH = 11500 WIA_DPS_PAGE_HEIGHT = 14000 WIA_IPS_ORIENTATION = PORTRAIT WIA_IPS_XPOS = 0 WIA_IPS_YPOS = 0 WIA_IPS_XEXTENT = 1150 WIA_IPS_YEXTENT = 1400 WIA_IPS_XRES = 100 WIA_IPS_YRES = 100

示例 2:应用程序将 WIA_DPS_PAGE_SIZE 属性设置为 WIA_PAGE_LETTER

WIA_DPS_PAGE_SIZE = WIA_PAGE_LETTER WIA_DPS_PAGE_WIDTH = 8500 WIA_DPS_PAGE_HEIGHT = 11000 WIA_IPS_ORIENTATION = PORTRAIT WIA_IPS_XPOS = 0 WIA_IPS_YPOS = 0 WIA_IPS_XEXTENT = 850 WIA_IPS_YEXTENT = 1100 WIA_IPS_XRES = 100 WIA_IPS_YRES = 100 WIA_IPS_YRES = 100

示例 3:应用程序将 WIA_IPS_ORIENTATION 属性设置为 LANDSCAPE

物理床必须能够获取最初处于横向方向的页面。

WIA_DPS_PAGE_SIZE = WIA_PAGE_LETTER WIA_DPS_PAGE_HEIGHT = 11000 WIA_DPS_PAGE_WIDTH = 8500 WIA_IPS_ORIENTATION = LANDSCAPE WIA_IPS_XPOS = 0 WIA_IPS_YPOS = 0 WIA_IPS_XEXTENT = 1100 WIA_IPS_YEXTENT = 850 WIA_IPS_XRES = 100 WIA_IPS_YRES = 100 WIA_IPS_YRES = 100

示例 4:应用程序将 WIA_IPS_XEXTENT 属性更改为较小的值

在以下代码示例中,应用程序将 WIA_IPS_XEXTENT 属性更改为 1000。 微型驱动程序应假定WIA_IPS_XEXTENT的新值对 WIA_DPS_PAGE_SIZE 属性不再有效,因此应将WIA_DPS_PAGE_SIZE更改为WIA_PAGE_CUSTOM。 微型驱动程序还必须调整 WIA_DPS_PAGE_WIDTH

WIA_DPS_PAGE_SIZE = WIA_PAGE_CUSTOM WIA_DPS_PAGE_HEIGHT = 10000 WIA_DPS_PAGE_WIDTH = 8500 WIA_IPS_ORIENTATION = LANDSCAPE WIA_IPS_XPOS = 0 WIA_IPS_YPOS = 0 WIA_IPS_XEXTENT = 1000 WIA_IPS_YEXTENT = 850 WIA_IPS_XRES = 100 WIA_IPS_YRES = 100

要求

版本: 已过时,请改用 WIA_IPS_PAGE_SIZE 属性。

标头:wiadef.h(包括 Wiadef.h)

另请参阅

IWiaMiniDrv::d rvValidateItemProperties

WIA_DPS_PAGE_HEIGHT

WIA_DPS_PAGE_SIZE

WIA_DPS_PAGE_WIDTH

WIA_IPS_ORIENTATION

WIA_IPS_PAGE_SIZE

WIA_IPS_XEXTENT

WIA_IPS_XPOS

WIA_IPS_YEXTENT

WIA_IPS_YPOS