WIA_DPS_PAGE_SIZE
WIA_DPS_PAGE_SIZE プロパティには、スキャン対象として現在選択されているページのサイズが格納されています。
プロパティの型: VT_I4
有効な値: WIA_PROP_LIST
アクセス権: 読み取り/書き込み
解説
スキャンするページの寸法を選択するために、アプリケーションが WIA_DPS_PAGE_SIZE を設定します。 WIA ミニドライバーは、このプロパティを作成して管理します。
次の表では、 WIA_IPS_PAGE_SIZE で有効な定数について説明します。
Value | Definition |
---|---|
WIA_PAGE_A4 | ページ サイズは 8267 × 11692 (縦向き) です。 |
WIA_PAGE_CUSTOM | ページ サイズは、WIA_DPS_PAGE_HEIGHT プロパティの値と WIA_DPS_PAGE_WIDTH プロパティの値によって定義されます。 |
WIA_PAGE_LETTER | ページ サイズは 8500 × 11000 (縦向き) です。 |
WIA_IPS_ORIENTATION プロパティの値によって、現在選択されているページの向きを判断します。 WIA_DPS_PAGE_WIDTH プロパティと WIA_DPS_PAGE_HEIGHT プロパティは、ページのサイズを 1,000 分の 1 インチ (.001) 単位で報告します。 これらのプロパティには、WIA_IPS_XEXTENT プロパティと WIA_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 の値をページの寸法 (1,000 分の 1 インチ ( .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_XPOS プロパティと WIA_IPS_YPOS プロパティの現在の設定から開始して、現在のイメージ レイアウトを取得する必要があります。 ページ サイズ設定の結果、選択領域がスキャナー ベッドの外側になる場合、ミニドライバーは、WIA_IPS_XPOS プロパティと WIA_IPS_YPOS プロパティの値を有効な設定に自動的に調整する必要があります。 WIA_DPS_PAGE_SIZE プロパティと WIA_IPS_ORIENTATION プロパティが同時に設定され、組み合わせて適用すると無効となる場合、ミニドライバーは、IWiaMiniDrv::drvValidateItemProperties メソッドでエラーを返し、アプリケーションの設定を失敗させる必要があります。
次の 4 つのコード例は、次の WIA_DPS_PAGE_SIZE シナリオを示しています。
ドライバーが設定を報告します。
アプリケーションは、WIA_DPS_PAGE_SIZE プロパティを WIA_PAGE_LETTER に設定します。
アプリケーションは、 WIA_IPS_ORIENTATION プロパティを LANDSCAPE に設定します。
アプリケーションは、 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
例 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
例 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 を含む)