Microsoft DirectX 8.0 |
IAMCameraControl インターフェイスは、カメラに対するローカル制御またはリモート制御を提供する。
このインターフェイスは、ズーム、パン、絞り、またはシャッター スピードなどのデバイス制御を備えている、カメラ デバイスを制御するフィルタを対象に、Microsoft® DirectShow® の中で実装される。WDM キャプチャ ドライバは、関連するカーネル ストリーミング プロパティ セットをサポートしている場合、KsProxy.ax におけるこのインターフェイスを自動的に使用するので注意すること。
アプリケーションは、このインターフェイスを使用して、ズーム、パン、絞り、またはシャッター スピードなどのデバイス設定を制御する。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IAMCameraControl メソッド 説明 GetRange 指定のカメラ プロパティの範囲に関連付けられている値を取得する。 Set カメラ プロパティを設定する。 Get 特定のカメラ制御プロパティの値を取得する。
特定のカメラ制御プロパティの値を取得する。
構文
HRESULT Get ( long Property, long *lValue, long *Flags );
パラメータ
- Property
- [in] 照会する CameraControlProperty 列挙型のプロパティを指定する値。
- lValue
- [out] 指定のプロパティの取得値へのポインタ。有効な範囲と値については、「注意」を参照すること。
- Flags
- [out] カメラ プロパティが自動または手動であることを示す、CameraControlFlags 列挙型の値へのポインタ。
戻り値
インターフェイスの実装に応じた HRESULT 値を返す。
HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL 失敗。 E_INVALIDARG 引数が無効。 E_NOTIMPL メソッドがサポートされていない。 E_POINTER Null ポインタ引数。 S_OK 成功。
注意
CameraControlProperty 列挙型で表される各プロパティは、自動または手動の設定を持つことができる。Flags パラメータに CameraControlFlags 列挙型の CameraControl_Flags_Auto が設定されている場合、lValue パラメータは無視される。lValue の範囲と意味は、照会するプロパティによってそれぞれ異なる。次の表は、有効な値を示している。
プロパティ lValue の範囲と意味 Pan パンの設定を指定する値 (度単位)。値は –180 から +180 の範囲で、デフォルト値は 0 である。正の値は原点から右回り (上から見た場合、カメラが右回りに回転する) を表し、負の値は原点から左回りを表す。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。 Tilt チルトの設定を指定する値 (度単位)。値は –180 から +180 の範囲で、デフォルト値は 0 である。正の値はイメージの面を上方向に向けることを表し、負の値はイメージの面を下方向に向けることを表す。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。 Roll ロールの設定を指定する値 (度単位)。値は –180 から +180 の範囲で、デフォルト値は 0 である。正の値はイメージ表示軸に沿ってカメラを右回りに回転することを表し、負の値はカメラの左回りの回転を表す。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。 Zoom ズームの設定を指定する値 (mm 単位)。値は 10 から 600 の範囲で、デフォルト値はデバイスによってそれぞれ異なる。 Exposure 次の式を元に、露出の設定を指定する値 (秒単位)。0 未満の値の場合、露出時間は 1/2n 秒である。正の値と 0 の場合、露出時間は 2n 秒である。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。たとえば、デバイスの範囲が –7 から 1 で、ステップが 1 とする。対応する露出時間は、次のとおりである。
値 -7 -6 -5 -4 -3 -2 -1 0 1 秒 1/128 1/64 1/32 1/16 1/8 1/4 1/2 1 2 Iris fstop * 10 で表される絞りの設定を指定する値。 Focus 焦点の設定を、対象に対する最適な焦点距離として指定する値 (mm 単位)。範囲とデフォルト値は、デバイスによってそれぞれ異なる。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。
指定のカメラ プロパティの範囲に関連付けられている値を取得する。
構文
HRESULT GetRange ( long property, long *pMin, long *pMax, long *pSteppingDelta, long *pDefault, long *pCapsFlags );
パラメータ
- property
- [in] 照会する CameraControlProperty 列挙型のプロパティを指定する値。
- pMin
- [out] 指定のプロパティの最小範囲へのポインタ。
- pMax
- [out] 指定のプロパティの最大範囲へのポインタ。
- pSteppingDelta
- [out] 指定のプロパティのステップ サイズへのポインタ。ステップ サイズはプロパティの変化の単位で、基になるハードウェアによってそれぞれ異なる。たとえば、デジタル カメラの場合は、5°ずつ変更できる。
- pDefault
- [out] 指定のプロパティのデフォルト値へのポインタ。
- pCapsFlags
- [out] カメラ プロパティが自動または手動であることを指定する CameraControlFlags 列挙型の値へのポインタ。
戻り値
インターフェイスの実装に応じた HRESULT 値を返す。
HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL 失敗。 E_INVALIDARG 引数が無効。 E_NOTIMPL メソッドがサポートされていない。 E_POINTER Null ポインタ引数。 S_OK 成功。
特定のカメラ制御プロパティの値を設定する。
構文
HRESULT Set ( long Property, long lValue, long Flags );
パラメータ
- Property
- [in] 変更する CameraControlProperty 列挙型のプロパティを指定する値。
- lValue
- [in] 指定のプロパティの新しい値。
- Flags
- [in] カメラ プロパティが自動または手動であることを指定する CameraControlFlags 列挙型の値。
戻り値
インターフェイスの実装に応じた HRESULT 値を返す。
HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL 失敗。 E_INVALIDARG 引数が無効。 E_NOTIMPL メソッドがサポートされていない。 E_POINTER Null ポインタ引数。 S_OK 成功。
注意
CameraControlProperty 列挙型で表される各プロパティは、自動または手動の設定を持つことができる。Flags パラメータに CameraControlFlags 列挙型の CameraControl_Flags_Auto が設定されている場合、lValue パラメータは無視される。lValue の範囲と意味は、照会するプロパティによってそれぞれ異なる。次の表は、有効な値を示している。
プロパティ lValue の範囲と意味 Pan パンの設定を指定する値 (度単位)。値は –180 から +180 の範囲で、デフォルト値は 0 である。正の値は原点から右回り (上から見た場合、カメラが右回りに回転する) を表し、負の値は原点から左回りを表す。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。 Tilt チルトの設定を指定する値 (度単位)。値は –180 から +180 の範囲で、デフォルト値は 0 である。正の値はイメージの面を上方向に向けることを表し、負の値はイメージの面を下方向に向けることを表す。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。 Roll ロールの設定を指定する値 (度単位)。値は –180 から +180 の範囲で、デフォルト値は 0 である。正の値はイメージ表示軸に沿ってカメラを右回りに回転することを表し、負の値はカメラの左回りの回転を表す。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。 Zoom ズームの設定を指定する値 (mm 単位)。値は 10 から 600 の範囲で、デフォルト値はデバイスによってそれぞれ異なる。 Exposure 次の式を元に、露出の設定を指定する値 (秒単位)。0 未満の値の場合、露出時間は 1/2n 秒である。正の値と 0 の場合、露出時間は 2n 秒である。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。たとえば、デバイスの範囲が –7 から 1 で、ステップ 1 とする。対応する露出時間は、次のとおりである。
値 -7 -6 -5 -4 -3 -2 -1 0 1 秒 1/128 1/64 1/32 1/16 1/8 1/4 1/2 1 2 Iris fstop * 10 で表される絞りの設定を指定する値。 Focus 焦点の設定を、対象に対する最適な焦点距離として指定する値 (mm 単位)。範囲とデフォルト値は、デバイスによってそれぞれ異なる。特定のデバイスでは、この範囲のサブセットのみが実装される場合があるので注意すること。