2

CaptureImageAvailable イベントで ImageStream を取得しています。ContentReadyEventArgs には ImageStream があります。

BitmapImage を使用して、このストリームをイメージにコピーしてみます。

Image cameraImage=new Image();
BitmapImage bImage=new BitmapImage();
    private void CaptureImageAvailable(object sender, ContentReadyEventArgs e)
    {

        bImage.SetSource(e.ImageStream);
        cameraImage.Source = bImage;
    }

しかし、ステップ bImage.SetSource(e.ImageStream); でエラーが発生しました。

この ImageStream をどのように読むべきですか?

ありがとう!

4

1 に答える 1

2

Sourceメイン スレッドを使用していない場合、プロパティを割り当てることはできません。そして、この場合、あなたはそうではありません。これを行うには、単純に強制的に呼び出しますDispatcher

Image cameraImage=new Image();
BitmapImage bImage=new BitmapImage();

private void CaptureImageAvailable(object sender, ContentReadyEventArgs e)
{
    Dispatcher.BeginInvoke(()=>
    {
        bImage.SetSource(e.ImageStream);
        cameraImage.Source = bImage;
    });
}

ページ内にいない場合 (たとえば、ビューモデルまたはその他の非 UI クラス内にいる場合)、次の構文を使用します。

Deployment.Current.Dispatcher.BeginInvoke(()=>
{
    /* ... */
});
于 2013-09-11T14:35:25.630 に答える