0

Windows Phone 8 の既定のカメラ クラスであるPhotoCaptureDeviceの上に Camera クラスを作成する必要があります。

理想的には、子クラスを構築したかったでしょう

class CustomCaptureDevice:PhotoCaptureDevice{
    ....
    ....
}

これにより、カメラ デバイスの構成と、CustomCaptureDevice を介した追加のフレーム処理技術の提供の両方が可能になります。残念ながら、PhotoCaptureDeviceは であるためsealed class、それはできません。

これで、問題に取り組むのに役立つ 2 つの代替方法を考えることができます。

(1)

class CustomCaptureDevice
{
    private PhotoCaptureDevice captureDevice;

    // Implement all the functions of PhotoCaptureDevice here. And internally redirect them to PhotoCaptureDevice

}

上記の方法は面倒です。また、PhotoCaptureDevice の API が変更された場合、CustomCaptureDevice クラスの大幅な更新が必要になる可能性があります。

(2)

class CustomCaptureDevice
{
    public PhotoCaptureDevice captureDevice;

    // Expose this variable to the user, who can set things in PhotoCaptureDevice as per his needs.

}

上記は、PhotoCaptureDevice の API が変更された場合に最小限の更新が必要になるため、より簡単なソリューションのようです。

(2)は私の要件にうまく適合するようです。ただし、(2) が不適切であることが判明する可能性があるため、追加の要件があります。露出やフォーカスなどのいくつかのパラメーターをユーザーが構成できないようにしたいので、PhotoCaptureDevice の特定の構成機能を無効にしたいと考えています。

(2)の設計フレームワークでこれをどのように達成できますか。それはまったく可能ですか?

(1)の方法で簡単に実装できると思います。封印されたクラスPhotoCaptureDeviceであるという制約に注意してください。

4

1 に答える 1