次の方法で共有


IWiaSegmentationFilter::D etectRegions メソッド (wia_lh.h)

IWiaSegmentationFilter::D etectRegions メソッドは、各サブ領域を個別のイメージ項目に取得できるように、フラットベッド プラテンにレイアウトされたイメージのサブ領域を決定します。

構文

HRESULT DetectRegions(
  [in]           LONG      lFlags,
  [in, optional] IStream   *pInputStream,
  [in, optional] IWiaItem2 *pWiaItem2
);

パラメーター

[in] lFlags

現在使用されていません。 0 に設定する必要があります。

[in, optional] pInputStream

IStream プレビュー イメージへのポインターを指定します。

[in, optional] pWiaItem2

pInputStream が取得された IWiaItem2 項目へのポインターを指定します。 セグメント化フィルターは、この項目の子項目を作成します。

戻り値

成功した場合はS_OKを返し、それ以外の場合は標準の COM エラー値を返します。

備考

このメソッドは、pInputStream によって表されるイメージのサブ領域決定します。 検出したサブ領域ごとに、pWiaItem2 パラメーターによって指される IWiaItem2] 項目の子項目が作成されます。 子項目ごとに、セグメント化フィルターは、次の WIA スキャナー項目のプロパティを使用して、スキャンする領域の外接する四角形の値を設定する必要があります。

WIA_IPS_XPOS

WIA_IPS_YPOS

WIA_IPS_XEXTENT

WIA_IPS_YEXTENT

さらに高度なフィルターでは、ドライバーがスキューイングをサポートしている場合、WIA_IPS_DESKEW_XWIA_IPS_DESKEW_Yなど、他のスキャナー項目のプロパティも必要になる場合があります。

アプリケーション IWiaSegmentationFilter::D etectRegions を複数回呼び出す場合、アプリケーションは最初に、IWiaSegmentationFilter::D etectRegions メソッドの最後の呼び出しによって作成された子項目を削除する必要があります。

アプリケーションが pWiaItem2 にプロパティを変更した場合、イメージを pInputStream に取得してから IWiaSegmentationFilter::D etectRegionsを呼び出す間に、元のプロパティ設定 (ストリームが取得されたときにアイテムが持っていたプロパティ設定) を復元する必要があります。 これは、IWiaPropertyStorage::GetPropertyStream と IWiaPropertyStorage::SetPropertyStreamを使用して行うことができます。

アプリケーションが同じストリームをセグメント化フィルターに複数回渡す場合、アプリケーションは IStream プレビューをリセットする必要があります。 アプリケーションは、最初のダウンロード後、および IWiaSegmentationFilter::D etectRegions 呼び出す前にストリームをリセットする必要もあります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー wia_lh.h (Wia_lh.h を含む)

関連項目

IStream

IWiaItem2する

IWiaPropertyStorage