Grabber::setDeviceFrameFilters Method

イメージストリームのデバイスパスにフレームフィルタのリストを挿入します。デバイスパスにオーバーレイが存在する場合、フィルタリストはその前に挿入されます。つまりフィルタリストはデバイスとオーバーレイの間に位置することになります。

構文

bool setDeviceFrameFilters( IFrameFilter* pFilter );
bool setDeviceFrameFilters( const tFrameFilterList& filterList );
パラメータ 説明
pFilter IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterオブジェクトへのポインタです。このパラメータを使用した場合、フィルタリストが生成されIFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterオブジェクトが挿入されます。
filterList IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilter オブジェクトへのポインタを含むtFrameFilterListクラスライブラリリファレンス>型定義>tFrameFilterList

戻り値

処理が正常に完了した場合にはtrueを返します。もしエラーが発生した場合にはgetLastErrorクラスライブラリリファレンス>クラス>Grabber>Grabber::getLastError Methodをコールしてエラー情報の詳細を取得してください。

備考

このメソッドは選択中のビデオフォーマットに合わせたビデオウィンドウサイズの自動調整の有効/無効化を行うものです。選択中のビデオフォーマットの幅と高さにとらわれない設定をしたい場合には自動調整を無効にしておかなければなりません。
ビデオウィンドウのサイズをコントロールのウィンドウに合わせる必要がある場合、パラメータbDefaultfalseでなければなりません。
pDefaulttrueに設定するとビデオウィンドウのサイズは即座に選択したビデオフォーマットのサイズに変更されます。ビデオウィンドウはビデオフォーマットに依存する形となるため次のGrabber::setWindowPositionクラスライブラリリファレンス>クラス>Grabber>Grabber::setWindowPosition Methodへのコールは失敗することになります。

インフォメーション

IC Imaging Control 3.0より導入。

サンプル

以下のコードは2つのフレームフィルタインスタンスを作成しフィルタチェーンとしてセットする方法を紹介しています。

m_pROIFilter = FilterLoader::createFilter( "ROI" );
m_pRotFlipFilter = FilterLoader::createFilter( "Rotate Flip" );

// フィルタパラメータのセット
tFrameFilterList filterList;

// スマートポインタからプレーンポインタを抽出するために.getを使用
filterList.push_back( m_pROIFilter.get() );
filterList.push_back( m_pRotFlipFilter.get() );

m_Grabber.setDeviceFrameFilters( filterList );

スマートポインタからプレーンポインタを抽出するためのsmart_com.get()の使い方に注意してください。