FilterLoader::createFilter Method

フレームフィルタのインスタンスを作成します。

構文

static smart_com<IFrameFilter> createFilter( const FilterInfo& fi );
static smart_com <IFrameFilter> createFilter( const std::string& filter_name,
                       const std::string& module = std::string() );
static smart_com <IFrameFilter> createFilter( const std::wstring& filter_name,
                       const std::wstring& module = std::wstring() );
パラメータ 説明
fi 作成するフィルタを表すFilterInfoクラスライブラリリファレンス>構造体>FlterInfo Structure構造体です。FilterLoader::getAvailableFrameFiltersクラスライブラリリファレンス>クラス>FilterLoader>FilterLoader::getAvailableFrameFilters Method はこのメソッドに渡すためのFilterInfo構造体のリストを返します。
filter_name 作成するフレームフィルタの名前。
module 作成するフレームフィルタを実装するモジュールへのパス。

戻り値

作成されたフレームフィルタの IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterインターフェースへのsmart_comクラスライブラリリファレンス>クラス>smart_comを返します。フィルタが作成されなかった場合には0となります。

備考

filter_namemoduleの両方をこのメソッドに渡す、指定された値に一致するフィルタを探して利用可能なフレームフィルタのリスト内を検索します。
moduleパラメータが省略された場合はfilter loaderが最初のフレームフィルタ実装のインスタンスを作成しそれが対応する名前を見つけます。

サンプル

以下のコードはstdfilters.ftfにあるRotate Flipフィルタのインスタンスを作成しデバイスフレームフィルタとして設定します。

smart_com<IFrameFilter> pRotFlipFilter = FilterLoader::createFilter( "Rotate Flip" );
grabber.setDeviceFrameFilters( pRotFlipFilter.get() );